Instal paket secara global

10

Apakah ini sesuatu yang bisa / harus dilakukan? Misalnya, saya sering menggunakan emacs di akun pengguna saya dan kadang-kadang me-root akun. Ketika menggunakan manajer paket (mis. Selai atau sesuatu) apakah saya harus menginstal paket yang sama secara terpisah untuk setiap akun? Menurut saya mereka diinstal di direktori home Anda.

pengguna2237076
sumber

Jawaban:

7

Seperti yang ditunjukkan oleh Nsukami, package.el mendukung paket-paket di seluruh sistem. Tetapi seperti yang ditunjukkan oleh pertanyaan Anda berikutnya, itu tidak memberikan bantuan khusus untuk menginstal paket secara keseluruhan sistem.

Salah satu cara Anda dapat melakukannya adalah dengan menggunakan sesuatu seperti:

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

di akun root Anda ~/.emacs. Ini akan membuat paket yang diinstal pengguna root tersedia untuk semua pengguna (karena /usr/share/emacs/site-lisp/elpabiasanya akan muncul dalam nilai default package-directory-list).

Stefan
sumber
Ya ini masuk akal! Great help guys - terima kasih.
user2237076
3

Menurut dokumentasi:

nilai paket-direktori-daftar adalah
("/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 ")

Variabel ini mungkin berisiko jika digunakan sebagai variabel file-lokal.

Dokumentasi: Daftar direktori tambahan yang berisi paket Emacs Lisp. Setiap nama direktori harus mutlak.

Direktori-direktori ini berisi paket-paket yang ditujukan untuk seluruh sistem; sebaliknya, `package-user-dir 'berisi paket untuk penggunaan pribadi.

Anda dapat menyesuaikan variabel ini.

Variabel ini diperkenalkan, atau nilai standarnya diubah, dalam versi 24.1 dari Emacs.

Dokumentasi lain :

Selain paket-user-dir, Emacs mencari paket yang diinstal di direktori yang tercantum dalam daftar-direktori-daftar. Direktori ini dimaksudkan untuk administrator sistem untuk membuat paket Emacs tersedia di seluruh sistem; Emacs sendiri tidak pernah menginstal paket di sana.

Jadi, untuk pemasangan di seluruh situs, saya sarankan Anda, sebagai administrator sistem, menginstal paket secara manual di dalam / usr / local / share / emacs / site-lisp / elpa. Atau Anda juga bisa melakukan seperti yang disarankan oleh @Stefan

Nsukami _
sumber
Terima kasih untuk balasan Anda. Saya dapat mengkonfirmasi pada pemeriksaan nilai paket-direktori-daftar itu seperti yang telah Anda jelaskan dan memang paket-user-dir adalah folder .emacs.d / elpa - di mana paket saat ini sedang diinstal. Jadi saya bertanya kemudian apakah saya menimpa paket-user-dir untuk menunjuk ke lokasi global, atau ketika menggunakan misalnya 'Mx package-install' bagaimana saya bisa mengatakannya saya ingin instalasi di seluruh situs?
user2237076