質問
Aquamacsを使用し、〜/.emacs.D/ELPAにファイルをインストールするELPAを使用しますか?
このELPAの背後にある魔法は何ですか?つまり、ELPAがなければ、特定のディレクトリにパッケージをダウンロードしてインストールし、これら2つの行を.EMACSに追加する必要があります。
(リストに追加の「ロードパス」パッケージ_Directory ")
(必要な 'パッケージ)
しかし、ELPAでは、.EMACSまたは/ユーザー/SMCHO/ライブラリ/設定に追加されたものはありません。これはどのように可能ですか?
追加した
これは私がAquamacsで見つけたものです。
- Aquamacsは〜/Preference/Aquamacs emacs/Preferenceを読み取り、「(add-to list 'load-path kitfiles-dir)(「insic)」(「init)」があります。
- Start Kitのinit.elには「(require 'package)(package-initialize)」があります。
- 〜/ライブラリ/設定/Aquamacs emacs/aquamacs-emacs-starter-kit/vendorにはpackage.elがあります
初期化ファイルは変更されていないと思いますが、パッケージマネージャーは〜/.emacs.d/elpd/*を読み取り、それぞれにautoloads.elが表示されているように、自動的に初期化します。
追加2
Emacs 24では、パッケージは事前に構築されているようです。 ELPAを機能させるには、これらの行を.emacsまたは.emacs.d/init.elに入れておく必要があります。からのヒント このサイト.
(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))
(defvar my-packages '(clojure-mode
nrepl))
(dolist (p my-packages)
(when (not (package-installed-p p))
(package-install p)))
解決
(package-initialize)
インストールされているすべてのパッケージを通過します(in ~/.emacs.d/elpa/
または同様の、構成によって異なります)、それらをロードパスに追加します。あなたがそれを実行したもの、見てください load-path
(chvload-path
)、これらすべてのサブディレクトリが追加されます。したがって、この時点で、ファイルの読み込みは通常のメカニズムを使用します。
他のヒント
あなたが持っている (require 'package) (package-initialize)
初期化ファイルのどこかにペアリングします。 package.elは魔法をします:)