最近のことを知った後use-package、設定を移植することにしましたが、package.elパッケージのインストールと更新の維持に使用する利便性を放棄することに消極的でした。私は結合することは少しトリッキーなことがわかりましたuse-packageとpackage.el。
私は一般的に人々がシステムuse-packageとどのように結合するかを学ぶことに興味package.elがありますが、より具体的な質問については、読み続けてください。
私が欲しいものは次のとおりです。
- パッケージマネージャーでパッケージをインストールして、パッケージを簡単に参照し、を通じて更新できるようにするlist-packages。
- パッケージを排他的に構成およびロードuse-packageするには、initファイルで、ロードする内容とその構成を正確に簡単に確認できます。
- オプションで、use-packageの:ensureキーワードを使用してパッケージをインストールすることもできます。
私が正しく理解している場合、私はpackage-initialize基本的にそれが設定する方法だけで、何をするかを非常に望んでいませんload-path。現在、私の構成にはこれがあります:
;(package-initialize)
(setq package-enable-at-startup nil)
(let ((default-directory "~/.emacs.d/elpa"))
  (normal-top-level-add-subdirs-to-load-path))
(require 'use-package)
最初のコメント行は、Emacs 25が(package-initialize)initファイルにa を有益に追加しないようにするためです。を持つビットnormal-top-level-add-subdirs-to-load-pathは、package-initializeを作成するものの近似であり、load-path十分に良いと思われる近似です。
これは私の欲望1と2を達成しているようですが、3ではありません。使用しようとすると:ensure、package.el初期化されていないというエラーメッセージが表示されます。呼び出しpackage-initializeはそれを修正しますが、a)無数のオートロードをすべてロードしたくない(use-package必要なオートロードを正確に作成するために使用することを好む)、およびb)簡単にできるようにしたいので、それを避けたい特定のインストール済みパッケージを必要なときにロードしないようにします(これは簡単ですuse-package)。
誰もこれを行う方法についての推奨事項がありますか?
package-initializeでは私は質問を意味のないものにする使用に傾いています。