Caskでパッケージ管理を始めました

package.elでelispをパッケージ管理できるのは便利だけど、
別のマシンと同期するには、同じパッケージをインストールする作業が発生し、面倒
という事に悩んでいました。


このような問題はCaskで解決できます。
「何のパッケージをインストールしたか」
をテキストで記述、
あとはコマンド一発でインストールを行なってくれる優れモノです。

インストール

$ curl -fsSkL https://raw.github.com/cask/cask/master/go | python


「~/.cask/」と「~/.cask/init.el」が生成されていなければ、以下も実行

$ cask init


「init.el」へ以下を追記

;; cask
(require 'cask "~/.cask/cask.el")
(cask-initialize)

設定例

Caskの設定は、「Cask」という名前のファイルに行います。
「~/.emacs.d/Cask」で行うと、「.emacs.d」のディレクトリごとGitなどでバージョン管理すればよいので便利です。


以下のように記述します。
例) 私の「~/.emacs.d/Cask」

(source gnu)
(source melpa)
(source marmalade)

(depends-on "gtags" :git "https://github.com/voins/gtags.git")
(depends-on "auto-complete")
(depends-on "ace-jump-mode")
(depends-on "ido-vertical-mode")
(depends-on "magit")
(depends-on "ag")
(depends-on "elscreen")
(depends-on "expand-region")
(depends-on "undo-tree")
(depends-on "markdown-mode")


詳しい記述方法は、本記事の最後に載せている「参考サイト/記事」などを参照してください。

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

「Cask」ファイルのあるディレクトリへ移動し、
「cask」コマンドを実行するだけです。

$ cd ~/.emacs.d/
$ cask

私の「.emacs.d」

いまさらですが、「~/.emacs -> ~/.emacs.d/init.el」の移行も行なっていました。
これで、「~/.emacs.d/」以下をGitで管理するだけで、マシン間の同期もとれるようになりました。


私の「~/.emacs.d/」(Gitリポジトリ)

参考サイト/記事(本記事は、ほとんど以下のサイト様の記事の受け売りです)