Come diceva paprika, Emacs usa load-path
per cercare l'elenco dei elisp
file disponibili ( .elc
, .el
)
La load-path
viene ricercato il primo pacchetto corrispondente quando viene richiesto. Se sono installate più copie di un pacchetto, verrà caricato il primo.
Il gestore pacchetti distro non può installare sulla stessa fonte package-install
, poiché uno è a livello di sistema e l'altro è specifico dell'utente.
Fonti del pacchetto
Integrato e specifico per Distro
Distro Package Manager
I gestori pacchetti Distro offrono una selezione di pacchetti emacs che possono essere installati. Nella mia esperienza questi sono spesso tra i pacchetti più popolari / ampiamente utilizzati. Prima dello sviluppo di package.el
questo era il modo più semplice per ottenere i pacchetti. (Più semplice grazie alla sola esecuzione apt-get install <package>
anziché all'utilizzo del controllo versione o al download diretto.
I pacchetti installati tramite il gestore pacchetti di distribuzione sono installati per /usr/local/share/emacs/site-lisp/
impostazione predefinita in load-path
e verranno nascosti da load-path
aggiunte specifiche dell'utente .
Package.el
package.el
è stato incluso per la prima volta in Emacs 24
. Questa versione è compatibile con, Emacs 23
ma deve essere installata manualmente, i pacchetti recuperati potrebbero essere o meno compatibili Emacs 23
.
package.el
fornisce un repository sfogliabile di pacchetti per Emacs. Per impostazione predefinita Elpa
è configurato solo il repository, ma è possibile aggiungere l' accesso a MELPA e Marmelade :
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
Ciò fornisce l'accesso a un pool di pacchetti molto più ampio.
Per impostazione predefinita package.el
installa i pacchetti su ~/.emacs.d/elpa
e quando (package-initialize)
viene chiamata questa directory verrà posizionata più vicino alla parte anteriore di load-path
, facendo sì che questi pacchetti abbiano la precedenza su quelli installati dal gestore dei pacchetti di distribuzione.
Git / Bzr / hg / ... + EmacsWiki
I pacchetti a controllo di versione possono essere recuperati manualmente dal loro repository tramite la clonazione. Alcuni forniscono anche versioni in pacchetto che possono essere scaricate direttamente.
I file Elisp di EmacsWiki possono anche essere scaricati, sebbene siano in genere file singoli piuttosto che directory.
Una volta recuperato il pacchetto, assicurarsi che la cartella di destinazione sia sul proprio load-path
e che sarà disponibile per l'uso.
Gestione dei pacchetti di terze parti
Questi strumenti forniscono wrapper o funzionalità aggiuntive rispetto a quanto sopra per centralizzare la gestione dei pacchetti. Sono progettati pensando alla configurazione condivisa per garantire che tutte le macchine dispongano degli stessi pacchetti disponibili.
El-Get
El-Get mantiene una lista di ricette che permettono di scaricare i pacchetti utilizzando package.el
, git
, emacswiki
come fonti (tra gli altri). Fornisce inoltre funzioni per garantire che i pacchetti siano aggiornati, gestire il caricamento (posticipato o immediato) e archiviare la personalizzazione specifica del pacchetto in file che vengono caricati automaticamente quando il pacchetto è required
.
Botte
Cask è progettato per la gestione dei progetti in / per Emacs. Utilizza un cask
file per mantenere un elenco di dipendenze (altri pacchetti) necessarie per utilizzare il pacchetto e scaricherà i pacchetti mancanti per garantire che tutto venga caricato correttamente.
Può essere utilizzato per gestire le configurazioni dei pacchetti locali trattando il proprio ~/.emacs.d
progetto e chiamando (cask-initialize)
all'avvio.
straight.el
straight.el
è progettato per le persone che desiderano apportare modifiche locali ai loro pacchetti e possibilmente contribuire a tali modifiche a monte. Estrae le ricette da MELPA , GNU ELPA ed EmacsMirror o consente di specificare le proprie. Supporta anche la scrittura di un file di blocco di revisione per la massima riproducibilità, tra molte altre funzionalità.
Usa-Package
Use-Package è progettato principalmente come strumento di gestione della configurazione di emacs. Scaricherà i package.el
pacchetti necessari ma non ha meccanismi integrati per accedere ad altre fonti. Consente il caricamento differito dei pacchetti e la personalizzazione differita. Ciò migliora l'inizializzazione di emacs mentre rallenta l'uso iniziale dei pacchetti (ma se non li si utilizza in una determinata sessione si ottiene solo un guadagno netto).
M-x report-emacs-bug
. Le persone che rispondono a una domanda del genere qui farebbero meglio a contribuire ai documenti di Emacs, se mancano le informazioni. A PARER MIO.