これはできる/すべきことですか?たとえば、ユーザーアカウントでemacsを使用することが多く、ルートアカウントで使用することもあります。パッケージマネージャー(マーマレードなど)を使用する場合、アカウントごとに同じパッケージを個別にインストールする必要がありますか?彼らはあなたのホームディレクトリにインストールされているようです。
これはできる/すべきことですか?たとえば、ユーザーアカウントでemacsを使用することが多く、ルートアカウントで使用することもあります。パッケージマネージャー(マーマレードなど)を使用する場合、アカウントごとに同じパッケージを個別にインストールする必要がありますか?彼らはあなたのホームディレクトリにインストールされているようです。
回答:
Nsukamiが指摘したように、package.elはシステム全体のパッケージをサポートします。しかし、その後の質問で指摘されているように、システム全体の方法でパッケージをインストールするための特別な助けはありません。
これを行う1つの方法は、次のようなものを使用することです。
(setq package-user-dir "/usr/share/emacs/site-lisp/elpa")
あなたのrootアカウントでの~/.emacs
。これにより、rootユーザーのインストール済みパッケージがすべてのユーザーに利用可能になります(/usr/share/emacs/site-lisp/elpa
通常、デフォルト値のに表示されるため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 ")この変数をファイルローカル変数として使用すると、危険な場合があります。
ドキュメント:Emacs Lispパッケージを含む追加のディレクトリのリスト。各ディレクトリ名は絶対名でなければなりません。
これらのディレクトリには、システム全体を対象としたパッケージが含まれています。対照的に、 `package-user-dir 'には個人用のパッケージが含まれています。
この変数はカスタマイズできます。
Emacsのバージョン24.1で、この変数が導入されたか、そのデフォルト値が変更されました。
別のドキュメント:
Emacsはpackage-user-dirに加えて、package-directory-listにリストされているディレクトリでインストール済みパッケージを探します。これらのディレクトリは、システム管理者がEmacsパッケージをシステム全体で利用できるようにするためのものです。Emacs自体はそこにパッケージをインストールしません。
したがって、サイト全体のインストールの場合、システム管理者として、/ usr / local / share / emacs / site-lisp / elpa内に手動でパッケージをインストールすることをお勧めします。または、@ Stefanの提案に従って行うこともできます