2015-10 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
[2014-11-03-1] に package.el から Cask に乗り換え、
[2015-06-17-1] に Cask から El-Get に乗り換えましたが、
結局 package.el に戻ってきました。
理由は M-x el-get-update(-all) の更新がうまくいかず、エラーにな
り、~/.emacs.d/el-get や ~/.emacs.d/elpa を全削除して入れなおすこ
とがよくあったからです。最近は面倒になりアップデートもしなくなりま
した...。
package.el でインストールするパッケージも init.el に書いてしまえば、
何をインストールしたか分かります。なにより Emacs デフォルトの機能
なので安心感があります(私はライトなデフォルト厨)。
バージョンロック出来ない問題は、アップデート前に ~/.emacs.d/elpa
をバックアップすれば良いでしょう...。Time Machine もありますし...。
変更前と後の init.el はこちら。
◆変更前
;; See http://d.hatena.ne.jp/tarao/20150221/1424518030 (add-to-list 'load-path (locate-user-emacs-file "el-get/el-get")) (unless (require 'el-get nil 'noerror) (with-current-buffer (url-retrieve-synchronously "https://raw.githubusercontent.com/dimitri/el-get/master/el-get-install.el") (goto-char (point-max)) (eval-print-last-sexp))) ;; lock the pacakge versions (el-get-bundle tarao/el-get-lock) (el-get-lock) (el-get-bundle ajtulloch/mkdown.el :name mkdown) (el-get-bundle ataka/blgrep) (el-get-bundle ataka/clmemo) (el-get-bundle auto-complete) (el-get-bundle coffee-mode) (el-get-bundle dockerfile-mode) (el-get-bundle elpa:eldoc-extension) (el-get-bundle elpa:git-dwim) (el-get-bundle elpa:hl-line+) (el-get-bundle elpa:sequential-command) (el-get-bundle elscreen) (el-get-bundle flycheck/flycheck :depends (dash pkg-info let-alist cl-lib)) (el-get-bundle go-autocomplete) (el-get-bundle go-eldoc) (el-get-bundle go-mode) (el-get-bundle haml-mode) (el-get-bundle helm) (el-get-bundle helm-descbinds) (el-get-bundle helm-ghq) (el-get-bundle helm-migemo) (el-get-bundle highlight-symbol) (el-get-bundle keyfreq) (el-get-bundle markdown-mode) (el-get-bundle masutaka/egg :branch "freeze-time") (el-get-bundle masutaka/emacs-helm-bundle-show :name helm-bundle-show) (el-get-bundle masutaka/emacs-helm-hatena-bookmark :name helm-hatena-bookmark) (el-get-bundle migemo) (el-get-bundle mori-dev/scratch-log) (el-get-bundle navi2ch) (el-get-bundle nginx-mode) (el-get-bundle open-junk-file) (el-get-bundle org-tree-slide) (el-get-bundle osener/github-browse-file) (el-get-bundle php-mode) (el-get-bundle quickrun) (el-get-bundle rspec-mode) (el-get-bundle savekill) (el-get-bundle terraform-mode) (el-get-bundle web-mode) (el-get-bundle wgrep) (el-get-bundle yaml-mode)
◆変更後
(require 'package) ;; Emacs JP を始めとして、package-archives の後ろに追加する例が多いので従った。 ;; http://emacs-jp.github.io/packages/package-management/package-el.html (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) ;; init.el で package-install() せず、M-x package-list-packages から ;; インストールする場合、これらは不要。package-install() が良しなに ;; 初期化してくれるため。 (package-initialize) (package-refresh-contents) ;; すでにインストール済みかを package-installed-p() でチェックする ;; 必要はない。package-install() から呼ばれる ;; package-compute-transaction() でチェックしているため。 (package-install 'mkdown) (package-install 'coffee-mode) (package-install 'blgrep) (package-install 'clmemo) (package-install 'auto-complete) (package-install 'coffee-mode) (package-install 'dockerfile-mode) (package-install 'eldoc-extension) (package-install 'git-dwim) (package-install 'hl-line+) (package-install 'sequential-command) (package-install 'elscreen) (package-install 'flycheck) (package-install 'go-autocomplete) (package-install 'go-eldoc) (package-install 'go-mode) (package-install 'haml-mode) (package-install 'helm) (package-install 'helm-descbinds) (package-install 'helm-ghq) (package-install 'helm-migemo) (package-install 'highlight-symbol) (package-install 'keyfreq) (package-install 'markdown-mode) (package-install 'egg) (package-install 'helm-bundle-show) (package-install 'helm-hatena-bookmark) (package-install 'migemo) (package-install 'scratch-log) (package-install 'navi2ch) (package-install 'nginx-mode) (package-install 'open-junk-file) (package-install 'org-tree-slide) (package-install 'github-browse-file) (package-install 'php-mode) (package-install 'quickrun) (package-install 'rspec-mode) (package-install 'savekill) (package-install 'terraform-mode) (package-install 'web-mode) (package-install 'wgrep) (package-install 'yaml-mode)
ほとんど同じものが入りますが、egg だけソースが変わっています。
新しいバージョンの egg が気に入らなかったので、
https://github.com/masutaka/egg/tree/freeze-time を使っていました
が、これだけ git submodule 使うのも気持ち悪いので、諦めて MELPA
の egg を使うことにしました。
私の init.el です。都度更新されます。ホームからも辿れます。
https://gist.github.com/masutaka/8177244
2015-10 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31