macOS上のGUI版Emacsのバージョンに対してcask installを行う


こんにちは
最近 ハッカーになろう#同じ問題を二度解くような無駄はいやだ を読んで情報の共有を意識して行っていこうと痛感している次第です。

さて、Emacs用のパッケージ管理ツール cask を使って GUI版Emacs に対するパッケージ管理を行おうとしたのですが、Terminal上のEmacsのバージョンにしか操作が行われず若干ハマりました。今回はその症状と対処法についての投稿になります。

環境

  • macOS 10.12 sierra
  • Emacs
    • 25.1.1 (GUI)
    • 24.5.1 (CUI)
  • cask
    • curlでインストール

症状

下記のように、CUI版Emacsのバージョン用のディレクトリしか作られていないという状況です。

% emacs --version 
GNU Emacs 24.5.1
Copyright (C) 2015 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
% /Applications/Emacs.app/Contents/MacOS/Emacs --version
GNU Emacs 25.1.1
Copyright (C) 2016 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
% cd ~/.emacs.d
% cask init
% cask install
% cd .cask
% ls
24.5/  24.5.1/

対処法

Caskの公式ドキュメントの'Usage'の項 によると

To specify a custom Emacs, use the EMACS environment variable, for example:
$ EMACS="$(evm bin emacs-24.1)" cask command

とあり、emacsの場所を渡すことができるようなので、次のように打ちます。

% cd ~/.emacs.d
% EMACS="/Applications/Emacs.app/Contents/MacOS/Emacs" cask install
% cd .cask
% ls
24.5/  24.5.1/  25.1/

私の環境では、これでGUI版Emacsに対するパッケージの用意が完了しました。
以上になります。