Коли ви оновлюєте ваші пакунки через M-x list-packages
інтерфейс, після успішного встановлення пакета вам буде запропоновано видалити старий пакет. Не видаляйте їх, щоб вони залишалися на місці, а потім зможете пізніше видалити новий пакет через цей інтерфейс.
Мій поточний список пакетів містить 4 версії magit, встановлені в моєму дереві ~ / .emacs.d / elpa / каталог.
magit 20160827.1549 obsolete A Git porcelain inside Emacs
magit 20160907.945 obsolete A Git porcelain inside Emacs
magit 20161001.1454 obsolete A Git porcelain inside Emacs
magit 20161123.617 installed A Git porcelain inside Emacs
Пізніше можна очистити старі версії за допомогою ключа ~
(пакунок-меню-марка-застаріле-для-видалення), щоб позначити всі застарілі пакети. Щоб видалити певну стару версію, перейдіть до її рядка та натисніть, d
щоб позначити їх для видалення. Після того, як ви позначили пакунки, які використовуєте x
для виконання дій, як зазвичай.
У Emacs 25 позначте всі пакети для U
функціональності pgrade автоматично встановлює всі старі пакети для видалення та не вимагає підтвердження після встановлення. Ви повинні шукати рядки, які починаються з великої літери "D", яку ви можете просто відмітити (найкраще за допомогою наступного макросу)
Введіть ключ або акорд зліва від тире з наступних рядків.
<F3> - start macro recording
C-s - isearch-forward
C-q - quoted-insert
C-j - linefeed character
D - the mark at the start of the line
<Ret> - stops the isearch on the line with the "D"
u - unmark the package for deletion
<F4> - stops macro recording - the first package is now unmarked
<F4> - executes the macro for the next upgraded package
Якщо подальших збігів для пошуку не буде, макрос подзвонить у дзвінок і зупиниться, тому ви можете C-u 0 <F4>
зняти позначку для всіх пакетів, позначених для видалення. Після цього ви можете x
виконати встановлення.
Функцію, яку я оголосив зміненою у своєму коментарі, слід змінити таким чином, що я поки не можу зрозуміти, оскільки важливо, щоб останній (умовний) блок був успішним, щоб не втрачати цикл.
M-x package-install-file
. Окрім ELPA / package.el, є й інші способи керування пакетами, такі як el-get та quelpa , вони, здається, можуть використовуватись без ELPA, можливо, вони можуть робити все, що ви хочете.