Wie Paprika sagte, verwendet Emacs load-path
, um nach verfügbaren elisp
Dateien zu suchen ( .elc
, .el
)
Das load-path
wird nach dem ersten passenden Paket gesucht, wenn es benötigt wird. Wenn mehrere Kopien eines Pakets installiert sind, wird die erste geladen.
Der Distributionspaket-Manager kann nicht auf derselben Quelle wie er installiert werden package-install
, da einer systemweit und der andere benutzerspezifisch ist.
Paketquellen
Eingebaut und distro-spezifisch
Distro Package Manager
Distro-Paketmanager bieten eine Auswahl an Emacs-Paketen, die installiert werden können. Nach meiner Erfahrung gehören diese häufig zu den beliebtesten / am weitesten verbreiteten Paketen. Vor der Entwicklung war package.el
dies der einfachste Weg, um die Pakete zu erhalten. (Am einfachsten, wenn Sie nur laufen apt-get install <package>
, anstatt die Versionskontrolle oder den direkten Download zu verwenden.
Über den Distributionspaket-Manager installierte Pakete werden installiert. Dies /usr/local/share/emacs/site-lisp/
ist eine Standardeinstellung in load-path
und wird durch benutzerspezifische load-path
Ergänzungen ausgeblendet .
Package.el
package.el
wurde zuerst mit aufgenommen Emacs 24
. Diese Version ist kompatibel mit Emacs 23
, muss jedoch manuell installiert werden. Pakete, die von ihr abgerufen werden, sind möglicherweise kompatibel mit oder nicht Emacs 23
.
package.el
bietet ein durchsuchbares Repository mit Paketen für Emacs. Standardmäßig ist nur das Elpa
Repository konfiguriert, aber der Zugriff auf MELPA und Marmelade kann hinzugefügt werden:
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
Dies bietet Zugriff auf einen viel größeren Pool von Paketen.
Standardmäßig werden package.el
Pakete in ~/.emacs.d/elpa
und bei (package-initialize)
diesem Aufruf installiert . Dieses Verzeichnis wird näher an der Vorderseite von platziert load-path
, sodass diese Pakete Vorrang vor den vom Distributionspaket-Manager installierten Paketen haben.
Git / Bzr / hg / ... + EmacsWiki
Versionskontrollierte Pakete können durch Klonen manuell aus ihrem Repository abgerufen werden. Einige bieten auch Paketversionen an, die direkt heruntergeladen werden können.
EmacsWiki Elisp-Dateien können auch heruntergeladen werden, obwohl es sich in der Regel eher um einzelne Dateien als um Verzeichnisse handelt.
Stellen Sie nach dem Abrufen des Pakets sicher, dass sich der Zielordner auf Ihrem befindet load-path
und zur Verwendung verfügbar ist.
Paketverwaltung von Drittanbietern
Diese Tools bieten Wrapper oder zusätzliche Funktionen, um die Paketverwaltung zu zentralisieren. Sie wurden unter Berücksichtigung der gemeinsamen Konfiguration entwickelt, um sicherzustellen, dass auf allen Ihren Computern dieselben Pakete verfügbar sind.
El-Get
El-Get führt eine Liste der Rezepte , die es erlauben , zum Abrufen von Paketen mit package.el
, git
, emacswiki
als Quellen (unter anderem). Es bietet auch Funktionen, um sicherzustellen, dass die Pakete auf dem neuesten Stand sind, das Laden (verzögert oder sofort) zu verwalten und paketspezifische Anpassungen in Dateien zu speichern, die automatisch geladen werden, wenn das Paket geladen wird required
.
Fass
Cask wurde für das Projektmanagement in / für Emacs entwickelt. Es verwendet eine cask
Datei, um eine Liste der Abhängigkeiten (andere Pakete) zu verwalten, die für die Verwendung des Pakets erforderlich sind, und lädt fehlende Pakete herunter, um sicherzustellen, dass alles erfolgreich geladen wird.
Es kann verwendet werden, um lokale Paketkonfigurationen zu verwalten, indem Sie Ihre ~/.emacs.d
als Projekt behandeln und (cask-initialize)
beim Start aufrufen .
straight.el
straight.el
ist für Personen gedacht, die lokale Änderungen an ihren Paketen vornehmen und diese Änderungen möglicherweise vorgelagert einbringen möchten. Es werden Rezepte aus MELPA , GNU ELPA und EmacsMirror abgerufen oder Sie können Ihre eigenen angeben. Es unterstützt unter anderem das Schreiben einer Revisionssperrdatei für maximale Reproduzierbarkeit.
Use-Package
Das Use-Package wurde hauptsächlich als Emacs-Konfigurationsmanagement-Tool entwickelt. Es werden die erforderlichen package.el
Pakete heruntergeladen, es sind jedoch keine Mechanismen für den Zugriff auf andere Quellen integriert. Es ermöglicht das verzögerte Laden von Paketen und das verzögerte Anpassen. Dies verbessert die Emacs-Initialisierung und verlangsamt gleichzeitig die anfängliche Verwendung der Pakete (wenn sie jedoch nicht in einer bestimmten Sitzung verwendet werden, ergibt sich nur ein Nettogewinn).
M-x report-emacs-bug
. Personen, die hier auf eine solche Frage antworten, sollten besser zu den Emacs-Dokumenten beitragen, wenn die Informationen fehlen. MEINER BESCHEIDENEN MEINUNG NACH.