http://rubikitch.com/に移転しました このページをアンテナに追加 RSSフィード

2009-12-21

[][]auto-install.elでEmacsLispパッケージ自動インストールanything.el関連を一括インストール

Emacs Advent Calendar jp: 2009参加中!次はkiwanamiさん。

auto-install.el は拙作 install-elisp.el の後継バージョンである。サイトからEmacsLispファイルダウンロードし、所定の位置に配置し、バイトコンパイルする。最大の違いはダウンロードが非同期になったことだ。 install-elisp ではダウンロード時に待たされるが、 auto-install ではダウンロード中も作業をすることができる。

ダウンロードEmacsWikiから。install-elispが使えるならば、M-x install-elisp-from-emacswiki auto-install.el を実行する。

http://www.emacswiki.org/emacs/download/auto-install.el

そして、以下の設定を.emacsに加える。

(require 'auto-install)
(setq auto-install-directory "~/.emacs.d/auto-install/")
(auto-install-update-emacswiki-package-name t)
(auto-install-compatibility-setup)             ; 互換性確保

4行目の (auto-install-compatibility-setup) は install-elisp との互換性を確保するために必要だ。install-elispユーザはいつものコマンドが使えるし、このブログでもinstall-elispコマンドを書いていくことにする。

いずれのコマンドダウンロードした後、C-c C-cでバイトコンパイルする。C-c C-qでインストールを中止する。

C-c C-dを押すと、現在インストールされているバージョンとインストールしようとしているバージョンをediffで比較することができる。これはinstall-elispにはない新機能だ。変更点を手早く知ることができるぞ。

複数ファイルを一発でインストールする

上記だけだと、わざわざ乗り換える価値はないかもしれない。

auto-installのウリは、複数ファイルからなるEmacsLispをインストールすることができることだ。ただし、予め登録されているパッケージだけである。

現在、icicles、auto-complete development version、anything、sdcv、lazy-search、php-completion、perl-completionが登録されている。

M-x auto-install-batch パッケージ

たとえば、anything.elとその関連ファイルインストールするには M-x auto-install-batch anything を実行する。

ダウンロードが終わるとファイルが出てくるので C-c C-c を押す。すると次のファイルが出てくるので C-c C-c …というふうにファイルの数だけ C-c C-c を押す。最後に Installation is completed.というメッセージが出てくるのでインストール終了である。

anythingに関しては anything-startup.el という初期設定ファイルインストールされるので、すぐに試すことが可能だ。

auto-install-batchに登録してほしいパッケージは募集中なので、気楽にコメントを!現状ではtarパッケージではなくて各ファイルURLが存在するもののみ対応可能だ。

[2009/12/29]

auto-install.elのバッチインストールをText Translatorにも対応しました。

名無し名無し 2009/12/24 04:55 はてなID持ってないんで名無しですいません。
auto-install.elに取り込んでもらわなくてもいいけれども、自分が使う環境としては外せない。自分ですとtext-translatorなんですけども、そのようなパッケージを自分で登録できるようにするにはどうすればいいでしょうか?今はauto-install.elに自分でURLを載せているのですが、auto-install.elが更新されるたびにそのURLを加えないといけないので・・・・。

crafcraf 2010/08/29 16:49 すでに最新のファイルがあるときにauto-install を実行すると、*Messages*に
> moccur-edit.el is up-to-date
> error in process filter: auto-install-handle-download-content: Wrong number of arguments: kill-buffer, 0
> error in process filter: Wrong number of arguments: kill-buffer, 0
のようなエラーが出ています。
auto-install-batchの場合はそこから次のファイルに進めなくなってしまいます。

Meadow 3.02 (emacs 22.3.1)です。

crafcraf 2011/06/15 11:11 だいぶ昔に自己解決したまま忘れてたのですが、久々にアップデートしたら引っかかったので

auto-install.sh 内
auto-install-handle-download-content と auto-install-cleanup

(kill-buffer)

(kill-buffer nil)
に書き換えて動作しています。
Meadow 3.02 (emacs 22.3.1) には、引数なしのkill-bufferが存在しないようで。

crafcraf 2011/06/15 11:34 あと、auto-install-network-available-p 内で
auto-install-use-wget が使われていますが、auto-install-use-wget-pではないでしょうか。
Windows環境では auto-install-update-emacswiki-package-name がエラーになりました。
(setq auto-install-use-wget nil) することで回避できていますが。

ni66lingni66ling 2011/11/25 07:46 > (setq auto-install-use-wget nil) することで回避できていますが。
macで, wgetに関して --no-check-certificate がうんたんのせいで
auto-install-from-emacswiki の実行に失敗してたのが, 回避できました.
助かりました.

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/rubikitch/20091221/autoinstall