Как обновить пакеты, установленные с помощью use-package
24
Я использую use-packageдля установки и настройки пакетов (большинство из них находятся в melpa). Есть ли чистый автоматизированный способ поддерживать все эти пакеты в актуальном состоянии?
Если нет, каков наилучший рабочий процесс в этом случае?
Примечание: очень похожий вопрос здесь с ответом, но я хотел уточнить: «Вам все равно придется иметь дело с установкой обновлений». Я не смог прокомментировать ответ для уточнения, так как мне не хватает репутации.
Я просто делаю это вручную: запускаю команду « list-packagesХит», Uчтобы пометить доступные обновления, затем просматриваю, чтобы решить, есть ли какие-либо, которые я не хочу брать. Затем xобновить. Я делаю это довольно регулярно, и часто проверяю, что нового одновременно. У меня есть пара настроек, чтобы упростить это (см. Ниже).
Я подозреваю, что обновление может быть автоматизировано, но вы действительно хотите рассмотреть случай, когда обновление что-то ломает, и вам нужно откатить его назад, а затем помешать вашему автоматическому обновителю установить его заново.
Некоторые настройки меню пакета:
(defun package-menu-find-marks ()
"Find packages marked for action in *Packages*."
(interactive)
(occur "^[A-Z]"))
;; Only in Emacs 25.1+
(defun package-menu-filter-by-status (status)
"Filter the *Packages* buffer by status."
(interactive
(list (completing-read
"Status: " '("new" "installed" "dependency" "obsolete"))))
(package-menu-filter (concat "status:" status)))
(define-key package-menu-mode-map "s" #'package-menu-filter-by-status)
(define-key package-menu-mode-map "a" #'package-menu-find-marks)
С этим я могу использовать, s newчтобы просто увидеть, какие пакеты недавно доступны. И после нажатия, Uчтобы пометить обновления, я могу нажать aсписок встречающихся буферов из тех, которые были отмечены, на случай, если я захочу покопаться в деталях того, что изменилось и т. Д.
Спасибо, вопросы в основном отвечают. aработал для обнаружения помеченных пакетов. Тем не менее, s installedили любой из оставшихся трех статусов возвращает пустой список.
Яагрит Сапана
Какую версию Emacs вы используете?
glucas
Я использую 24.5.1
Яагрит Сапана
Ах хорошо. Я проверил, и package-menu-filterкоманда является новой в 25.1, так что эта команда не будет работать для вас.
glucas
Я делаю это каждый понедельник утром
Рики Нельсон
10
Вы можете использовать auto-package-updateдля автоматического обновления пакетов.
Существует чрезвычайно рекомендуемый пакет под названием paradox, который расширяет команды управления пакетами. Узнайте больше с https://github.com/Malabarba/paradox
Эта установка возвращает статистику использования пакетов обратно в систему с помощью отдельно установленного токена github и обновляет пакеты в фоновом режиме, когда вы вручную запускаете команду, paradox-upgrade-packagesпривязанную к вашим выбранным ключам.
Прочтите встроенную документацию переменной paradox-github-tokenо том, как ее настроить.
a
работал для обнаружения помеченных пакетов. Тем не менее,s installed
или любой из оставшихся трех статусов возвращает пустой список.package-menu-filter
команда является новой в 25.1, так что эта команда не будет работать для вас.Вы можете использовать
auto-package-update
для автоматического обновления пакетов.Скопировано из моего другого поста ( /emacs//a/31903/9972 )
При такой настройке пакеты будут обновляться каждый
4
день, а старые пакеты будут удаляться.источник
Постарайтесь
epm
сохранить процесс обновления в чистоте.ср https://github.com/xuchunyang/epm
Он может запускать процесс обновления в пакетном процессе emacs без загрузки обычных настроек init.el.
источник
Существует чрезвычайно рекомендуемый пакет под названием paradox, который расширяет команды управления пакетами. Узнайте больше с https://github.com/Malabarba/paradox
Эта установка возвращает статистику использования пакетов обратно в систему с помощью отдельно установленного токена github и обновляет пакеты в фоновом режиме, когда вы вручную запускаете команду, paradox-upgrade-packagesпривязанную к вашим выбранным ключам.
Прочтите встроенную документацию переменной paradox-github-tokenо том, как ее настроить.
источник
Просто введите список пакетов и нажмите SHIFT + U. Он пометит все установленные пакеты для обновления.
источник