Paketleri globallly yükleyin


10

Bu yapılabilecek / yapılması gereken bir şey mi? Örneğin, kullanıcı hesabımda bazen de kök hesabımda emacs kullanıyorum. Paket yöneticisini kullanırken (örn. Marmelat vb.) Her bir hesap için aynı paketleri ayrı ayrı yüklemem gerekir mi? Bana öyle geliyor ki ana dizininize kuruluyorlar.

Yanıtlar:


7

Nsukami'nin işaret ettiği gibi, package.el sistem çapında paketleri destekliyor. Ancak sonraki sorunuzun belirttiği gibi, paketleri sistem genelinde yüklemek için herhangi bir özel yardım sağlamaz .

Bunu yapmanın bir yolu şöyle bir şey kullanmaktır:

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

kök hesabınızda ~/.emacs. Bu, kök kullanıcının yüklü paketlerini tüm kullanıcılar için kullanılabilir hale getirecektir ( /usr/share/emacs/site-lisp/elpanormalde varsayılan değerinde görünmelidir package-directory-list).


Evet bu mantıklı! Büyük yardım çocuklar - teşekkürler.
user2237076

3

Belgelere göre:

package-directory-list değeri
("/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 ")

Bu değişken, dosya yerel değişkeni olarak kullanıldığında riskli olabilir.

Belgeler: Emacs Lisp paketlerini içeren ek dizinlerin listesi. Her dizin adı mutlak olmalıdır.

Bu dizinler, sistem çapında kullanıma yönelik paketler içerir; aksine, “package-user-dir” kişisel kullanım için paketler içerir.

Bu değişkeni özelleştirebilirsiniz.

Bu değişken Emacs'ın 24.1 sürümünde tanıtıldı veya varsayılan değeri değiştirildi.

Başka bir belge :

Package-user-dir'e ek olarak Emacs, paket-dizin listesinde listelenen dizinlerde kurulu paketleri arar. Bu dizinler, sistem yöneticilerinin Emacs paketlerini sistem çapında kullanıma sunması içindir; Emacs hiçbir zaman buraya paketler yüklemez.

Bu nedenle, site çapında yükleme için, sistem yöneticisi olarak paketleri / usr / local / share / emacs / site-lisp / elpa içine manuel olarak yüklemenizi öneririm. Veya @Stefan tarafından önerildiği gibi yapabilirsiniz


Cevabın için teşekkürler. Açıkladığınız gibi paket-dizin-liste değerinin incelenmesinde onaylayabilirim ve paket-user-dir paketlerin şu anda kurulu olduğu .emacs.d / elpa klasörüdür. Bu yüzden küresel konuma işaret etmek için package-user-dir'yi geçersiz kılar mıyım yoksa örneğin 'Mx package-install' kullanırken site genelinde kurulum istediğimi nasıl söyleyebilirim?
user2237076
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.