Comme l'a dit paprika, Emacs utilise load-path
pour rechercher la liste des elisp
fichiers disponibles ( .elc
, .el
)
On load-path
recherche le premier package correspondant lorsqu'il est requis. Si plusieurs copies d'un package sont installées, la première sera chargée.
Le gestionnaire de packages distro ne peut pas installer sur la même source que lui package-install
, car l'un est à l'échelle du système et l'autre est spécifique à l'utilisateur.
Sources de package
Intégré et spécifique à la distribution
Distro Package Manager
Les gestionnaires de packages Distro fournissent une sélection de packages emacs qui peuvent être installés. D'après mon expérience, ce sont souvent parmi les packages les plus populaires / largement utilisés. Avant le développement de package.el
cela, c'était le moyen le plus simple d'obtenir les packages. (Plus facile en raison de la simple exécution apt-get install <package>
au lieu d'utiliser le contrôle de version ou le téléchargement direct.
Les packages installés via le gestionnaire de packages distro sont installés, /usr/local/share/emacs/site-lisp/
ce qui est une valeur par défaut dans le load-path
et seront masqués par des load-path
ajouts spécifiques à l'utilisateur .
Package.el
package.el
a d'abord été inclus avec Emacs 24
. Cette version est compatible avec Emacs 23
mais doit être installée manuellement, les paquets récupérés par elle peuvent ou non être compatibles avec Emacs 23
.
package.el
fournit un référentiel navigable de packages pour Emacs. Par défaut, seul le Elpa
référentiel est configuré, mais l'accès à MELPA et Marmelade peut être ajouté:
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
Cela donne accès à un pool beaucoup plus important de packages.
Par défaut, package.el
installe les packages sur ~/.emacs.d/elpa
et quand (package-initialize)
est appelé, ce répertoire sera placé plus près de l'avant de load-path
, ce qui fera que ces packages auront la priorité sur ceux installés par le gestionnaire de packages de distribution.
Git / Bzr / hg / ... + EmacsWiki
Les packages contrôlés par version peuvent être récupérés manuellement de leur référentiel via le clonage. Certains proposent également des versions packagées qui peuvent être téléchargées directement.
Les fichiers EmacsWiki Elisp peuvent également être téléchargés, bien qu'il s'agisse généralement de fichiers uniques plutôt que de répertoires.
Une fois le package récupéré, assurez-vous que le dossier de destination se trouve sur votre ordinateur load-path
et qu'il sera disponible à l'utilisation.
Gestion de packages tiers
Ces outils fournissent des wrappers ou des fonctionnalités supplémentaires par rapport à ce qui précède pour centraliser la gestion des packages. Ils sont conçus avec une configuration partagée à l'esprit pour garantir que toutes vos machines ont les mêmes packages disponibles.
El-Get
El-Get tient à jour une liste des recettes qui lui permettent de récupérer les paquets en utilisant package.el
, git
, en emacswiki
tant que sources (entre autres). Il fournit également des fonctions pour garantir que les packages sont à jour, gérer le chargement (différé ou immédiat) et stocker la personnalisation spécifique au package dans des fichiers qui sont chargés automatiquement lorsque le package l'est required
.
Fût
Cask est conçu pour la gestion de projet dans / pour Emacs. Il utilise un cask
fichier pour maintenir une liste des dépendances (autres packages) nécessaires pour utiliser le package, et téléchargera les packages manquants pour s'assurer que tout se charge correctement.
Il peut être utilisé pour gérer les configurations de packages locaux en le traitant ~/.emacs.d
comme un projet et en appelant (cask-initialize)
au démarrage.
straight.el
straight.el
est conçu pour les personnes qui souhaitent apporter des modifications locales à leurs packages et éventuellement apporter ces modifications en amont. Il tire des recettes de MELPA , GNU ELPA et EmacsMirror , ou vous permet de spécifier les vôtres. Il prend également en charge l'écriture d'un fichier de verrouillage de révision pour une reproductibilité maximale, parmi de nombreuses autres fonctionnalités.
Use-Package
Use-Package est principalement conçu comme un outil de gestion de configuration emacs. Il téléchargera les package.el
packages nécessaires mais ne dispose pas de mécanismes intégrés pour accéder à d'autres sources. Il permet un chargement différé des packages et une personnalisation différée. Cela améliore l'initialisation d'emacs tout en ralentissant l'utilisation initiale des packages (mais si vous ne les utilisez pas dans une session donnée, il n'y a qu'un gain net).
M-x report-emacs-bug
. Les personnes qui répondent à une telle question ici feraient mieux de contribuer aux documents Emacs, si les informations sont manquantes. A MON HUMBLE AVIS.