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))
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
のくだりを削除して完了。