質問

Aquamacsを使用し、〜/.emacs.D/ELPAにファイルをインストールするELPAを使用しますか?

このELPAの背後にある魔法は何ですか?つまり、ELPAがなければ、特定のディレクトリにパッケージをダウンロードしてインストールし、これら2つの行を.EMACSに追加する必要があります。

(リストに追加の「ロードパス」パッケージ_Directory ")
(必要な 'パッケージ)

しかし、ELPAでは、.EMACSまたは/ユーザー/SMCHO/ライブラリ/設定に追加されたものはありません。これはどのように可能ですか?

追加した

これは私がAquamacsで見つけたものです。

  1. Aquamacsは〜/Preference/Aquamacs emacs/Preferenceを読み取り、「(add-to list 'load-path kitfiles-dir)(「insic)」(「init)」があります。
  2. Start Kitのinit.elには「(require 'package)(package-initialize)」があります。
  3. 〜/ライブラリ/設定/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は魔法をします:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top