Автоматично оновлювати пакети та видаляти старі версії


12

Я трохи нав'язливий щодо оновлення пакетів для всіх моїх систем, тож я щодня працюю list-packages-> U-> x-> y-> yмайже щодня оновлюю свої пакунки та видаляючи старі версії після завершення оновлення. Як я можу автоматизувати цей процес, щоб принаймні мені довелося запускати лише одну функцію для оновлення, компіляції та видалення своїх пакетів? Або є якась причина, що я, можливо, не хочу цього робити?

Відповіді:


17

Наведене нижче є частиною пакету Paradox. Просто посилайтесь paradox-upgrade-packages.


Це має робити.

(defun endless/upgrade ()
  "Upgrade all packages, no questions asked."
  (interactive)
  (save-window-excursion
    (list-packages)
    (package-menu-mark-upgrades)
    (package-menu-execute 'no-query)))

Просто перевірте, яка функція викликається кожним із перерахованих кроків, і введіть їх у інтерактивну функцію. Зазвичай (y or n)підказки будуть проблемою, але package-menu-executeзручно брати NO-QUERYаргументи.


Якщо всі пакети оновлені, він повернеться No operations specified.
ChillarAnand

3

Ви можете автоматизувати це за допомогою Cask . Це працює для розробки пакунків, а також для налаштування користувача. Документація містить детальну інформацію по її настройці.

Крім того, піддон корисний для того, щоб постійно оновлювати файл Cask зі змінами, які ви вносите в буфер * Packages *.


+1 Cask + Паллет чудовий (але я не рекомендую їх використовувати в Windows).
rsenna

Гм, це проблема, адже я перебуваю у Windows більшу частину часу.
Райан

@rsenna Дякую за інформацію. Я не запускаю жодної системи Windows, тому не знав, що вони не грають добре.
Кайл Мейєр

Насправді ви можете використовувати Cask + Pallet для Windows, для деяких робіт. Мені вдалося досягти цього за допомогою Cygwin, але я пам’ятаю, що це було далеко не просто ...
rsenna

Після встановлення Python Cask буде добре працювати в Windows. Я не впевнений у піддоні, оскільки не перевіряв. Але від огляду репо не повинно залежати нічого іншого, крім Cask + Emacs.
Джонатан Ліч-Пепін

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.