Preocupaciones sobre la desinstalación de paquetes


7

Para desinstalar un paquete de Emacs, leí que debo eliminar la carpeta específica de la carpeta elpa. Como el archivo .emacs se escribe solo cuando instalo un paquete, ¿eso significa que también se eliminará solo cuando desinstale un paquete o debo eliminar entradas específicas por mí mismo? También instalé un paquete de autocompletar y dentro de la carpeta elpa encontré una carpeta con el nombre popup-20141002.320. ¿Por qué estaba esa carpeta allí? ¿Pueden los paquetes instalar otros paquetes? Si es así, cuando desinstale el primer paquete, ¿debo desinstalar también el que instaló solo?


Instalar paquetes a través de package-install no debería alterar su archivo de inicio. Y sí, el administrador de paquetes instalará dependencias para los paquetes que instale. Entonces popupes una dependencia para auto-complete.
nispio

Respuestas:


10

Cuando desinstala un paquete, se elimina por usted. Esto es en realidad la totalidad de la operación de desinstalación (ver la package-deletefunción). La eliminación también se puede hacer manualmente eliminándola del directorio de instalación (por defecto .emacs.d/elpa/para los paquetes instalados por el usuario). Esta eliminación manual no tiene efectos secundarios adversos en el sistema de administración de paquetes, lo que simplifica la recuperación en caso de que las cosas salgan mal.

Los paquetes pueden depender de otros paquetes para funcionar correctamente. Estas dependencias se instalan automáticamente cuando instala un paquete a través del administrador de paquetes incorporado ( package.el). Si está utilizando M-x package-list-packagespara ver los paquetes disponibles, puede ver qué paquetes se instalarán (si no están presentes) presionando RETo haciendo clic en el nombre de un paquete.

Desinstalar un paquete a través de la interfaz no elimina las dependencias. Esta información no está documentada hasta donde puedo decir. Puede verlo usted mismo leyendo las funciones package-menu-executey package-deleteo instalando un paquete con una dependencia que no haya instalado, luego eliminando el paquete principal y observando el estado de la dependencia.

Actualización Desde emacs 25.1 hay un comando package-autoremoveque elimina paquetes que ya no son necesarios porque solo se instalaron como una dependencia del paquete eliminado. Si elimina un paquete instalado de la lista de paquetes, entonces emacs muestra una sugerencia para ejecutar este comando cuando sea apropiado.


1
Además, no intentaría eliminar los paquetes de dependencia, ya que más de un paquete podría depender de ellos, no solo el que está tratando de eliminar.
Kaushal Modi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.