Коли ви оновлюєте ваші пакунки через 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, можливо, вони можуть робити все, що ви хочете.