vdeep

*

vdeepはプログラミング、IT、Web技術、ライフハックの事などなどを管理人okutaniがつぶやくブログです

Emacs Caskでパッケージ管理をしてみよう

      2019/04/04

LINEで送る
Pocket

emacs-cask
こんにちは、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での導入
  • ~/.cask/cask.el

  • Homebrewでの導入
  • /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ファイルにはデフォルトでいくつかパッケージが記述してあります。

emacs-cask2

これらは下記のサイトで解説していました。参考にしてください。

参考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

参考になったサイト

下記のサイトが参考になりました。入れたいパッケージも人それぞれだと思うので、下記のサイトを一通り見ておくと良いかと思います。

参考2015年Emacsパッケージ事情 – Qiita

参考[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

LINEで送る
Pocket

okutani (okutani_t) のヒトコト
パッケージをCaskで管理しておくことで、自分がどんなパッケージを導入したか見やすくなって良いですね。これから活用していこうと思います。

Web開発のお仕事を募集しています

フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。

Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。

ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。

LINKお問い合わせ

LINKokutani's Portfolio


 - Emacs

スポンサーリンク

PC用AdSense

PC用AdSense

  こちらもどうぞ

vdeepのトップページへ戻る画像です。風船の形をした島を女の子が掴んでいます。