パプリカが言ったように、Emacsはload-path
利用可能なelisp
ファイルのリストを検索するために使用します(.elc
、.el
)
load-path
それが要求されている場合、最初に一致したパッケージを検索します。パッケージの複数のコピーがインストールされている場合、最初のものが読み込まれます。
package-install
1つはシステム全体であり、もう1つはユーザー固有であるため、ディストリビューションパッケージマネージャーは、同じソースにインストールできません。
パッケージソース
組み込みおよびディストリビューション固有
ディストリビューションパッケージマネージャー
ディストリビューションパッケージマネージャーは、インストール可能なemacsパッケージの選択を提供します。私の経験では、これらはしばしばより人気のある/広く使用されているパッケージの1つです。これが開発される前は、パッケージを入手する最も簡単な方法package.el
でした。(バージョン管理や直接ダウンロードを使用するのではなく、実行するだけで最も簡単です。apt-get install <package>
ディストリビューションパッケージマネージャーを介してインストールされたパッケージ/usr/local/share/emacs/site-lisp/
は、のデフォルトでインストールさload-path
れ、ユーザー固有のload-path
追加によって非表示になります。
Package.el
package.el
は最初にに含まれていましたEmacs 24
。 このバージョンはと互換性Emacs 23
がありますが、手動でインストールする必要があります。取得したパッケージはと互換性がある場合とない場合がありますEmacs 23
。
package.el
Emacs用のパッケージの参照可能なリポジトリを提供します。デフォルトでは、唯一のElpa
リポジトリが設定されていますが、アクセスMELPAとマーマレードを追加することができます。
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
これにより、はるかに大きなパッケージのプールにアクセスできます。
デフォルトでpackage.el
は、パッケージはにインストールされ~/.emacs.d/elpa
、(package-initialize)
呼び出されると、このディレクトリはの前面に配置されload-path
ます。その結果、これらのパッケージは、配布パッケージマネージャーによってインストールされるパッケージよりも優先されます。
Git / Bzr / hg / ... + EmacsWiki
バージョン管理されたパッケージは、複製によってリポジトリから手動で取得できます。直接ダウンロードできるパッケージリリースを提供するものもあります。
EmacsWiki Elispファイルもダウンロードできますが、通常はディレクトリではなく単一のファイルです。
パッケージが取得されたら、宛先フォルダーがにload-path
あり、使用できることを確認します。
サードパーティのパッケージ管理
これらのツールは、パッケージ管理を一元化するために、上記のラッパーまたは追加機能を提供します。すべてのマシンで同じパッケージを使用できるように、共有構成を考慮して設計されています。
エルゲット
エルは-getは、それが使用してパッケージを取得できるようにするレシピのリストを維持しpackage.el
、git
、emacswiki
情報源として(特に)。また、パッケージが最新であることを確認し、読み込みを(遅延または即時に)管理し、パッケージ固有のカスタマイズを、パッケージがのときに自動的に読み込まれるファイルに保存する機能も提供しますrequired
。
キャスク
Caskは、Emacsのプロジェクト管理用に設計されています。これは、使用するcask
パッケージを使用するために必要な依存関係(他のパッケージ)のリストを維持するためのファイルを、そして成功したすべての負荷を確実にするために不足しているパッケージをダウンロードします。
を~/.emacs.d
プロジェクトとして扱い、(cask-initialize)
起動時に呼び出すことで、ローカルパッケージ構成の管理に使用できます。
straight.el
straight.el
パッケージにローカルな変更を加えたい人のために設計されています。MELPA、GNU ELPA、およびEmacsMirrorからレシピを取得するか、独自のレシピを指定できます。また、他の多くの機能の中で、再現性を最大にするためのリビジョンロックファイルの書き込みもサポートしています。
使用パッケージ
Use-Packageは、主にemacs構成管理ツールとして設計されています。必要なpackage.el
パッケージをダウンロードしますが、他のソースにアクセスするための組み込みメカニズムはありません。パッケージの遅延ロードとカスタマイズの遅延を可能にします。これにより、パッケージの初期使用が遅くなる一方で、emacsの初期化が改善されます(ただし、特定のセッションでそれらを使用しない場合は、純利益しか得られません)。
M-x report-emacs-bug
。情報が欠落している場合、ここでそのような質問に答える人々は、Emacsのドキュメントに貢献したほうがよいでしょう。私見では。