Cuando actualice sus paquetes a través de la M-x list-packages
interfaz, después de la instalación exitosa del paquete, se le preguntará si desea eliminar el paquete anterior. No los elimine para que permanezcan en su lugar y luego pueda eliminar el paquete más nuevo a través de esta interfaz.
Mi lista de paquetes actual muestra 4 versiones de magit instaladas en mi árbol de directorios ~ / .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
Puede limpiar versiones anteriores más tarde con la clave ~
(package-menu-mark-obsolete-for-deletion) para marcar todos los paquetes obsoletos. Para eliminar una cierta versión anterior, muévase a su línea y presione d
para marcarlas para su eliminación. Después de marcar los paquetes que usaría x
para ejecutar las acciones como de costumbre.
En Emacs 25, la marca de todos los paquetes para la U
funcionalidad pgrade establece automáticamente la eliminación de todos los paquetes antiguos y no solicita confirmación después de la instalación. Debe buscar líneas que comiencen con una "D" mayúscula, que simplemente puede desmarcar (mejor con la siguiente macro)
Escriba la tecla o acorde a la izquierda del guión de las siguientes líneas.
<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
Si no hay más coincidencias para la búsqueda, la macro hará sonar la campana y se detendrá, por lo que podría C-u 0 <F4>
desmarcar todos los paquetes marcados para su eliminación. Después de esto, puede x
ejecutar las instalaciones.
La función que he declarado que ha cambiado en mi comentario tiene que cambiarse de una manera que aún no puedo comprender, ya que es importante que el último bloque (cond) tenga éxito para que no se repita sin parar.
M-x package-install-file
. También hay otras formas de administrar paquetes además de ELPA / package.el, como el-get y quelpa , parece que pueden usarse sin ELPA, tal vez puedan hacer lo que quieras.