目次

Emacs 24.4でMELPAを使う

試した環境

インストール

24.4にはpackages.elが同梱されているので、以下のLispをinit.elに書いてM-x package-list-packagesするだけでOK。

(require 'package) ;; You might already have this line
(add-to-list 'package-archives
             '("melpa" . "http://melpa.org/packages/") t)
(when (< emacs-major-version 24)
  ;; For important compatibility libraries like cl-lib
  (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))
(package-initialize) ;; You might already have this line

ただ、公式サイトによると、同梱のpackages.elはバグ持ちらしいので、次のLispも書いとくのが良さそう。

(defadvice package-compute-transaction
 (before package-compute-transaction-reverse (package-list requirements) activate compile)
   "reverse the requirements"
   (setq requirements (reverse requirements))
   (print requirements))

24.3環境からの移行

MELPA環境の24.3から24.4への更新は少し作業が必要。

emacsを更新しそのまま起動すると「package-desc-versが見つからない」的な事を言われる。これを一時的に回避するために、(require 'packages)の前らへんに

(fset 'package-desc-vers 'package--ac-desc-version)

と書いて再起動。すると正常に起動するので、M-x package-list-packagesからのC-u C-s ^ SPC SPC melpaでインストール済みのmelpaパッケージの行に飛び、d xで削除する(バッファの後ろの方にいるハズ)。

あとは先ほど追加したfsetのくだりを削除して完了。

参考サイト