Emacs Caskでパッケージ管理をしてみよう
2019/04/04
こんにちは、okutani(@okutani_t)です。本記事ではEmacsのパッケージを便利に管理できる『Cask』の使い方について説明しています。
今までパッケージの導入には『EmacsWiki』 や『URL指定』『package.el』など使っていたかと思いますが、Caskを利用することで「利用したいパッケージを設定ファイルにそれぞれ記述して、コマンドひとつで導入」といったことができるようになります。
よくある使い方では、GitHubといったクラウドサービスにCaskの設定ファイルを置いておき、Emacs環境をポータブルにするといったことができます。というより、僕がこれをやりたかったのでこの記事を書きました。
なお、Macのパッケージ管理ツールHomebrew Caskとは全くの別物なので、混同しないようにしましょう。
というわけで、さっそくCaskを使ってEmacsのパッケージを管理&インストールを実行までを試してみましょう。
スポンサーリンク
もくじ
Caskのインストール
Caskのインストールはターミナルからおこないます。次のコマンドを実行。
$ curl -fsSL https://raw.githubusercontent.com/cask/cask/master/go | python
Macユーザーの方はHomebrewを使った方法でもokです。私はこちらで導入しました。
$ brew install cask
Caskを導入すると、次の場所にcask.elが配置されます。
- curlでの導入
- Homebrewでの導入
「~/.cask/cask.el」
「/usr/local/opt/cask/cask.el」
curlで導入した場合は、~/.bashrc(zsh使いは~/.zshrc)にパスを通しておきましょう。
$ vi ~/.bashrc
PATH="$HOME/.cask/bin:$PATH"
下記コマンドでシェル設定ファイルを再読み込み。
$ source ~/.bashrc
Caskファイルの初期化
次のコマンドでCaskファイルの初期化をおこないます。
;; Caskのアップグレード
$ cask upgrade
$ cd ~/.emacs.d
;; Caskファイルの初期化
$ cask init
これで「~/.emacs.d/Cask」が生成されます。このCaskファイルにパッケージを記述していきます。
ちなみに、次のようにCaskファイルにはデフォルトでいくつかパッケージが記述してあります。
これらは下記のサイトで解説していました。参考にしてください。
参考Cask init して入ってくるライブラリ一覧 – 亀岡的プログラマ日記
Caskファイルにパッケージを記述
「~/.emacs.d/Cask」に、次のように記述していきます。
;; パッケージリポジトリの指定
(source gnu)
(source melpa)
(source marmalade)
;; インストールしたいパッケージを記述
(depends-on "anzu")
(depends-on "expand-region")
(depends-on "highlight-symbol")
(depends-on "multiple-cursors")
;; バージョン指定も可能
(depends-on "magit" "0.8.1")
;; 直接リポジトリの場所を指定可能
;; (depends-on "magit" :git "https://github.com/magit/magit.git")
...省略...
「source リポジトリ名」と記述すると、Caskでインストールできるパッケージのリポジトリを追加することができます。
「depends-on “パッケージ名”」とすると、記述したパッケージ名が、次で紹介するコマンドで順番にインストールされます。
Caskを使ったインストールの実行
Caskの設定が完了したので、実際にCaskを使ってパッケージをインストールしてみましょう。下記コマンドを実行。
$ cd ~/.emacs.d
;; インストール実行
$ cask install
これだけで、Caskファイルに記述したパッケージがすべてインストールされます。
パッケージは下記の場所にインストールされます。確認してみてください。
~/.emacs.d/.cask/emacs-version/
Cask設定ファイルをinit.elで読み込む
「~/.emacs.d/init.el」の先頭あたりに下記のコードを記述します。
;; Macの場合
(require 'cask "/usr/local/opt/cask/cask.el")
;; Linuxの場合
;; (require 'cask "~/.cask/cask.el")
(cask-initialize)
これで、Caskでインストールしたパッケージを読み込んでくれます。
また、LinuxとMacとではrequireの指定のしかたが上記のように変わるので注意してください(参考brew install caskした場合のcask.elの場所 – Qiita)。
Caskのアップデート
あとは、気が付いたときに次のコマンドでCaskをアップデートしてあげると良いです。
$ cd ~/.emacs.d
$ cask update
参考になったサイト
下記のサイトが参考になりました。入れたいパッケージも人それぞれだと思うので、下記のサイトを一通り見ておくと良いかと思います。
参考[Emacs] 俺がCaskで入れたパッケージを1つ1つ解説していく – Qiita
参考package.elから Caskに切り替えました – syohex’s diary
参考amacou’s blog — Emacsのelの管理をcaskでおこなうことにした。
一応、僕のCask設定をGitHubで晒してあります。emacsはまだまだ使いこなせてないので、参考になるかは分かりませんが|壁|・ω・`) チラッ
参考dotfiles/Cask at master · okutani-t/dotfiles
Caskを使ったパッケージインストール方法については以上です。まだ使っていない方はこの機会に使ってみてください。
関連記事
参考[Emacs]init-loader.elで設定ファイルを分割管理してみよう | vdeep
Web開発のお仕事を募集しています
フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。
「Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。
ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。
LINKお問い合わせ
スポンサーリンク