読者です 読者をやめる 読者になる 読者になる

Emacsでプラグインを簡単にインストールするためのpackage.elを使ってみる

手動でダウンロード、インストールしていたプラグイン(以下パッケージ)を簡単にインストールすることが出来るようになります。Emacs24に標準搭載される予定でEmacs23にも簡単にインストールすることが出来ます。

手動インストールやauto-installとの比較

  • コマンド一発でインストール出来る
  • メニューからインストール出来るパッケージを一覧出来る
  • アップデートが簡単

インストールしたパッケージの更新が簡単になるのは個人的には待望の機能でした。

インストール

package.el

technomancy/package.el

以下のURLから.elをロードパスの通った場所に置くか

Emacs24 : http://bit.ly/pkg-el
Emacs23 : http://bit.ly/pkg-el23

auto-install がある場合は以下のS式を評価してインストールして下さい。

; Emacs24
(auto-install-from-url "http://repo.or.cz/w/emacs.git/blob_plain/HEAD:/lisp/emacs-lisp/package.el")

: Emacs23
(auto-install-from-url "http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el")
melpa.el

次にmelpa.elをインストールします。

(progn
  (switch-to-buffer
   (url-retrieve-synchronously
    "https://raw.github.com/milkypostman/melpa/master/melpa.el"))
  (package-install-from-buffer  (package-buffer-info) 'single))
.emacs.d/init.el

init.el の上の方に書くとよいです。

(require 'package)

; Add package-archives
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))

; Initialize
(package-initialize)

; melpa.el
(require 'melpa)

基本的な使い方


M-x package-list-packages

インストール出来るパッケージ一覧を取得

M-x package-list-packages-no-fetch

インストール出来るパッケージ一覧を取得(更新なし)

M-x package-install

パッケージ名を指定してインストール

package-list-packagesのメニューからインストール出来るはずなんだけど、たまにmake-text-button: Unknown button type `help-package'とか出て動かなくなるのでpackage-installが確実。

package.el経由でインストールしたパッケージは~/.emacs.d/elpa以下に置かれます。

パッケージのインストール

試しに拙作のduplicate-thingをインストールしてみます。

M-x package-install duplicate-thing

.emacs.d/init.el に以下を追記します。

;;; autoloadするのでrequireは必要ないです。
(global-set-key (kbd "M-c") 'duplicate-thing)

パッケージのアンインストール

2013/03/12 追加情報 id:pogin さんから情報提供を頂きました

最新のEmacsではコマンドからアンインストール可能になっています。(diredのような操作)

  1. package-list-packagesのバッファを開く
  2. インストールしたパッケージに対して、dでマークを付ける
  3. xで削除実行

M-x emacs-version 24.2.1 で試したら無事アンインストール出来ました。

古い情報

メニューから消せそうだったのですが上手く動かなかったので・・・

  1. パッケージの入ったフォルダを削除 (~/.emacs.d/elpa/duplicate-thing-20120516)
  2. init.elから設定削除
  3. Emacs再起動

でアンインストール出来ました。

まとめ

  • csharp-mode
  • d-mode
  • dired+
  • flymake
  • magit
  • markdown-mode
  • helm
  • js2-mode, js3-mode

等、有名なelispが既に対応済みです。バージョンアップがとても簡単になるので是非使ってみて下さい。elisp作成者の方は是非MELPA等にアップロードを。MELPAへのアップロードの仕方もその内ブログに書こうと思います。

拙作の.elもMELPAからアップロード出来るようになってます。