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?
7
package-install
no debería alterar su archivo de inicio. Y sí, el administrador de paquetes instalará dependencias para los paquetes que instale. Entoncespopup
es una dependencia paraauto-complete
.Respuestas:
Cuando desinstala un paquete, se elimina por usted. Esto es en realidad la totalidad de la operación de desinstalación (ver la
package-delete
funció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á utilizandoM-x package-list-packages
para ver los paquetes disponibles, puede ver qué paquetes se instalarán (si no están presentes) presionandoRET
o 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-execute
ypackage-delete
o 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-autoremove
que 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.fuente