Installa i pacchetti a livello globale


10

È qualcosa che può / dovrebbe essere fatto? Ad esempio, spesso utilizzo emacs nel mio account utente e talvolta nel mio account di root. Quando utilizzo il gestore pacchetti (ad es. Marmellata o altro), devo installare gli stessi pacchetti separatamente per ciascun account? Mi sembra che vengano installati nella tua home directory.

Risposte:


7

Come sottolineato da Nsukami, package.el supporta pacchetti a livello di sistema. Ma come sottolinea la tua domanda successiva, non fornisce alcun aiuto speciale per installare i pacchetti a livello di sistema.

Un modo per farlo è usando qualcosa come:

(setq package-user-dir "/usr/share/emacs/site-lisp/elpa")

nel tuo account di root ~/.emacs. Ciò renderà i pacchetti installati dell'utente root disponibili a tutti gli utenti (poiché /usr/share/emacs/site-lisp/elpanormalmente dovrebbero apparire nel valore predefinito di package-directory-list).


Sì, questo ha senso! Un grande aiuto ragazzi - grazie.
user2237076,

3

Secondo la documentazione:

Il valore di package-directory-list è
("/usr/local/share/emacs/24.4/site-lisp/elpa" "/ usr / local / share / emacs / site-lisp / elpa" "/ usr / share / emacs / 24.4 / site-lisp / elpa "" / usr / share / emacs / site-lisp / elpa ")

Questa variabile può essere rischiosa se utilizzata come variabile file-local.

Documentazione: Elenco di directory aggiuntive contenenti pacchetti Emacs Lisp. Ogni nome di directory dovrebbe essere assoluto.

Queste directory contengono pacchetti destinati a tutto il sistema; al contrario, "package-user-dir" contiene pacchetti per uso personale.

Puoi personalizzare questa variabile.

Questa variabile è stata introdotta o il suo valore predefinito è stato modificato nella versione 24.1 di Emacs.

Un'altra documentazione :

Oltre a dir-pacchetto-utente, Emacs cerca i pacchetti installati nelle directory elencate nella lista-directory-pacchetto. Queste directory sono pensate per gli amministratori di sistema per rendere disponibili i pacchetti Emacs a livello di sistema; Emacs non installa mai pacchetti lì.

Quindi, per l'installazione su tutto il sito, ti consiglio di, come amministratore di sistema, installare manualmente i pacchetti all'interno di / usr / local / share / emacs / site-lisp / elpa. Oppure puoi anche fare come suggerito da @Stefan


Grazie per la tua risposta. Posso confermare all'ispezione del valore dell'elenco directory del pacchetto che è come hai descritto e in effetti pacchetto-user-dir è la cartella .emacs.d / elpa - dove i pacchetti sono attualmente installati. Quindi chiedo quindi di sovrascrivere il pacchetto-user-dir per puntare alla posizione globale, o quando uso ad esempio 'Mx package-install' come posso dire che voglio un'installazione a livello di sito?
user2237076
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.