Como dijo el pimentón, Emacs usa load-path
para buscar elisp
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ón
Los 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 ejecutar apt-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 /usr/local/share/emacs/site-lisp/
cual es un valor predeterminado en load-path
y se ocultarán por load-path
adiciones específicas del usuario .
Paquete.el
package.el
primero fue incluido con Emacs 24
. Esta versión es compatible con, Emacs 23
pero debe instalarse manualmente, los paquetes recuperados por ella pueden o no ser compatibles Emacs 23
.
package.el
proporciona un repositorio explorable de paquetes para Emacs. Por defecto solo Elpa
se configura el repositorio, pero se puede agregar acceso a MELPA y Marmelade :
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
Esto proporciona acceso a un grupo mucho más grande de paquetes.
De forma predeterminada, package.el
instala los paquetes en ~/.emacs.d/elpa
y cuando (package-initialize)
se llama a este directorio, se colocará más cerca del frente del load-path
, lo que da como resultado que estos paquetes tengan prioridad sobre los instalados con el administrador de paquetes de distribución.
Git / Bzr / hg / ... + EmacsWiki
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-Get
El-Get mantiene una lista de recetas que le permiten recuperar los paquetes usando package.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
.
Barril
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
straight.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.
Paquete de uso
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).
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.