Когда вы обновите свои пакеты через 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
Позже вы можете очистить старые версии с помощью ключа ~
(package-menu-mark-obsolete-for-deletion), чтобы отметить все устаревшие пакеты. Чтобы удалить определенную старую версию, перейдите к ее строке и нажмите, 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
выполнить установку.
Функция, которую я объявил измененной в моем комментарии, должна быть изменена так, как я пока не могу понять, так как важно, чтобы последний (cond) блок был успешным, чтобы не выполнять бесконечный цикл.
M-x package-install-file
. Есть и другие способы управления пакетами, кроме ELPA / package.el, такие как el-get и quelpa , они могут использоваться без ELPA, возможно, они могут делать то, что вы хотите.