Sono disponibili diversi repository di pacchetti.
Ufficiale
GNU ELPA è il repository di pacchetti ufficiale. È piccolo e richiede l'assegnazione del copyright (di tutti gli autori di un pacchetto) alla FSF per contribuire ad esso.
I pacchetti su GNU ELPA sono davvero solo un repository git . Il vantaggio di essere ospitati qui è che il core team prova ad aggiornare i pacchetti se Emacs stesso aggiunge o depreca funzionalità.
Costruito dalla fonte
MELPA è il repository di pacchetti più grande e in più rapida crescita . Rilascia una nuova versione ogni volta che una nuova versione viene trasferita in un repository o viene aggiornata una pagina EmacsWiki.
È all'avanguardia, ma in pratica funziona molto bene. MELPA è curata per evitare pacchetti duplicati e per garantire che venga registrata la sede canonica del pacchetto (anziché un fork casuale).
MELPA ha il problema che le versioni sono solo timestamp, ad es my-package-20131231.2359
. Questo significa che se dipendi dal mio pacchetto:
;; Package-Requires: ((my-package "1.2.3"))
quindi Emacs penserà che qualsiasi versione su MELPA sia abbastanza nuova.
MELPA Stable è uguale a MELPA, ma anziché utilizzare le versioni datestamp, utilizza le versioni nei tag git. Ciò consente una migliore risoluzione delle dipendenze, ma presenta problemi con la dipendenza dai pacchetti wiki .
Caricamenti dell'utente
Marmalade è molto più simile a un repository tradizionale di altri linguaggi di programmazione. Lo sviluppatore del pacchetto carica il pacchetto su Marmalade quando rilasciano.
In linea di principio, ciò fornisce ai pacchetti un corretto processo di rilascio (Marmalade precede MELPA stabile) ed evita anche il problema del numero di versione generato automaticamente. Tuttavia, non esiste una verifica dell'identità. Chiunque può caricare un pacchetto, anche se non lo ha scritto. Questo diventa difficile se il manutentore my-package
rileva che qualcun altro ha caricato my-package
e non può successivamente caricare nuove versioni.
Marmalade era un'app node.js ed è ora scritta in elisp. Entrambe le versioni hanno avuto occasionalmente problemi di uptime.
progetto specifico
Org-mode ELPA è un repository che ospita solo org
e org-plus-contrib
. La modalità Org fa parte del core di Emacs, ma è sviluppata esternamente e il codice viene sincronizzato periodicamente con il trunk Emacs periodicamente. Questo repository ti consente di avere la modalità org all'avanguardia.
User42 ELPA è un repository per uno sviluppatore di pacchetti singoli che ha rilasciato una vasta gamma di pacchetti Emacs . Se ti piace uno dei suoi pacchetti, puoi aggiungere questo repository.
Sunrise Commander ELPA è un repository per estensioni per Sunrise Commander (un pacchetto Emacs per la ricerca di file, ispirato al comandante di mezzanotte).
Pensionato
ELPA di Tromey è stato il primo repo istituito. È ufficialmente sostituito con GNU ELPA, ma non aveva gli stessi requisiti di assegnazione del copyright. A partire dal 2010, non è più aggiornato.
L'archivio dei pacchetti Elpy conteneva vari pacchetti sviluppati da Jorgen Schaefer per "Elpy, l'Emacs Python Development Environment" , ma che è migrato a MELPA Stable.