Instalé auctex desde el centro de software de Ubuntu, y luego instalé una versión más nueva de auctex desde emacs.
Luego desinstalé el auctex instalado por el centro de software de Ubuntu. Descubrí que no desinstaló el que instalé de emacs.
¿Cómo gestiona emacs sus paquetes?
¿No hay interferencia entre emacs y Ubuntu en la gestión de la instalación y desinstalación de paquetes de emacs?
Si estoy en lo cierto, hace unos años, ¿no había forma de instalar paquetes dentro de emacs?
Gracias.
M-x report-emacs-bug
. Las personas que respondan a tal pregunta aquí estarían mejor contribuyendo a los documentos de Emacs, si falta la información. EN MI HUMILDE OPINIÓN.Respuestas:
Como dijo el pimentón, Emacs usa
load-path
para buscarelisp
archivos disponibles en la lista (.elc
,.el
)Se
load-path
busca el primer paquete coincidente cuando se requiere. Si se instalan varias copias de un paquete, se cargará la primera.El administrador de paquetes de distribución no puede instalar en la misma fuente que lo
package-install
hace, ya que uno es para todo el sistema y el otro es específico del usuario.Fuentes de paquete
Incorporado y específico de distribución
Administrador de paquetes de distribuciónLos administradores de paquetes de distribución proporcionan una selección de paquetes de emacs que se pueden instalar. En mi experiencia, estos a menudo se encuentran entre los paquetes más populares / ampliamente utilizados. Antes del desarrollo de
package.el
esto, era la forma más fácil de obtener los paquetes. (Más fácil en virtud de simplemente ejecutarapt-get install <package>
en lugar de usar el control de versiones o la descarga directa.Los paquetes instalados a través del administrador de paquetes de distribución se instalan, lo
Paquete.el/usr/local/share/emacs/site-lisp/
cual es un valor predeterminado enload-path
y se ocultarán porload-path
adiciones específicas del usuario .package.el
primero fue incluido conEmacs 24
. Esta versión es compatible con,Emacs 23
pero debe instalarse manualmente, los paquetes recuperados por ella pueden o no ser compatiblesEmacs 23
.package.el
proporciona un repositorio explorable de paquetes para Emacs. Por defecto soloElpa
se configura el repositorio, pero se puede agregar acceso a MELPA y Marmelade :Esto proporciona acceso a un grupo mucho más grande de paquetes.
De forma predeterminada,
Git / Bzr / hg / ... + EmacsWikipackage.el
instala los paquetes en~/.emacs.d/elpa
y cuando(package-initialize)
se llama a este directorio, se colocará más cerca del frente delload-path
, lo que da como resultado que estos paquetes tengan prioridad sobre los instalados con el administrador de paquetes de distribución.Los paquetes controlados por versión se pueden recuperar manualmente de su repositorio mediante la clonación. Algunos también proporcionan versiones empaquetadas que se pueden descargar directamente.
Los archivos EmacsWiki Elisp también se pueden descargar, aunque generalmente son archivos individuales en lugar de directorios.
Una vez que se recupera el paquete, asegúrese de que la carpeta de destino esté en su sitio
load-path
y que esté disponible para su uso.Gestión de paquetes de terceros
Estas herramientas proporcionan envoltorios o funcionalidades adicionales sobre lo anterior para centralizar la administración de paquetes. Están diseñados teniendo en cuenta la configuración compartida para garantizar que todas sus máquinas tengan los mismos paquetes disponibles.
El-GetEl-Get mantiene una lista de recetas que le permiten recuperar los paquetes usando
Barrilpackage.el
,git
,emacswiki
como fuentes (entre otros). También proporciona funciones para garantizar que los paquetes estén actualizados, gestionar la carga (diferida o inmediata) y almacenar la personalización específica del paquete en archivos que se cargan automáticamente cuando el paquete lo estárequired
.Cask está diseñado para la gestión de proyectos en / para Emacs. Utiliza un
cask
archivo para mantener una lista de dependencias (otros paquetes) necesarios para usar el paquete, y descargará los paquetes faltantes para garantizar que todo se cargue correctamente.Se puede usar para administrar configuraciones de paquetes locales al tratarlo
~/.emacs.d
como un proyecto y solicitar(cask-initialize)
el inicio.straight.el
Paquete de usostraight.el
está diseñado para personas que desean realizar cambios locales en sus paquetes y posiblemente contribuir con esos cambios en sentido ascendente. Extrae recetas de MELPA , GNU ELPA y EmacsMirror , o le permite especificar las suyas. También admite escribir un archivo de bloqueo de revisión para una máxima reproducibilidad, entre muchas otras características.Use-Package está diseñado principalmente como una herramienta de administración de configuración de emacs. Descargará los
package.el
paquetes necesarios pero no tiene mecanismos incorporados para acceder a otras fuentes. Permite la carga diferida de paquetes y la personalización diferida. Esto mejora la inicialización de emacs mientras ralentiza el uso inicial de los paquetes (pero si no los usa en una sesión dada, solo hay una ganancia neta).fuente
/usr/share/emacs/site-lisp
, no/usr/local/share...
porque los directorioslocal
están destinados a instalaciones sin distribución.Emacs usa el
load-path
, que es esencialmente una lista de directorios en los que debería buscar archivos Lisp. Si hay un paquete disponible en el,load-path
entonces está instalado .No hay interfaz entre el administrador de paquetes Debian / Ubuntu y el administrador de paquetes Emacs (package.el). El primero instala los paquetes de Emacs en todo el sistema (disponible para todos los usuarios de la computadora) mientras que el segundo instala un paquete de manera predeterminada en su directorio de inicio. Teóricamente puede usar ambas fuentes para instalar paquetes. Sin embargo, desaconsejaría esta práctica: es posible que experimente algunos problemas al instalar el mismo paquete desde ambas fuentes.
La lista de paquetes de Emacs que puede instalar a través del administrador de paquetes Debian / Ubuntu es mucho más limitada en comparación con ELPA / MELPA / ..., porque cada paquete debe estar preparado específicamente para Debian / Ubuntu. En otras palabras: paquete en ELPA! = Paquete en Debian.
fuente