私はMELPAとMarmaladeを通してインストールできるようになりました。私は〜/ .emacs.dをgitで管理しています。しかし、私はgit ignore * .elcファイルを持っています。ELPAパッケージを自動的に(再)コンパイルするには?
これは、1つのシステムにパッケージをインストールした後、別のシステムを使用すると、git pull
は* .elファイルのみを提供することを意味します。これらのファイルを使用すると、* .elcを使用するよりも速度が低下することがよくあります。
私は〜/ .emacs.d/init.elに以下を追加してみました:
;; load the packages we've installed. Note that package-install
;; byte-compiles the packages, but .elc is ignored by git so we force recompilation here
(byte-recompile-directory (expand-file-name "~/.emacs.d/elpa") 0)
(package-initialize)
は残念ながら、これはpackage.elによって行わコンパイルと同等ではありません。例えば、私はemacsの-eclimをインストールする場合、package.elは、Emacs-eclim /会社のemacs-eclim.elをコンパイルしていない、と私は次のエラーを取得する:
Leaving directory `/home/wilfred/.emacs.d/elpa'
Compiling file /home/wilfred/.emacs.d/elpa/emacs-eclim-20130310.1237/company-emacs-eclim.el at Mon Mar 11 15:40:01 2013
Entering directory `/home/wilfred/.emacs.d/elpa/emacs-eclim-20130310.1237/'
company-emacs-eclim.el:35:1:Error: Cannot open load file: eclim
Warning: reference to free variable `multiple-cursors-mode'
Warning: reference to free variable `mc--read-char'
Warning: assignment to free variable `mc--read-char'
Warning: reference to free variable `multiple-cursors-mode'
Warning: reference to free variable `mc--read-quoted-char'
Warning: assignment to free variable `mc--read-quoted-char'
Warning: reference to free variable `rectangular-region-mode'
Warning: reference to free variable `rectangular-region-mode'
はどのようにEmacsを作るのですかバイト・package.elと同じファイルだけをコンパイルしますか?
おかげで、私はパレット知りませんでした。しかし、私は本当に自分の.emacs.dが自己完結していることを望んでいます。過去にダウンロードしたelispファイルは、もはや入手できなくなりました。 –