emacs のパッケージ管理
- emacs 25.1
- cask を使ってパッケージの管理をしていたりします
一応githubにemacsのパッケージリストは公開中
my emacs conf
えぐさま
- Vagrantで立ち上げた仮想環境でcaskが動作しない
- Macでcaskを入れる場合とcentOSでcaskを入れる際の手順が違っていた
- centOSでcaskを入れる
- 作成済み.emacs.dのディレクトリ内にあるCaskを使ってパッケージをインストールする
手順とハマったところ
手順
centOSにyumでemacsを入れる
まず最初にここでハマりました。
$ sudo yum install -y emacs # emacs 23.* がインストールされてしまう
yumで管理されているemacsのパッケージが古く、自分の用意したemacs のcaskで管理しているパッケージが25.1用だったので、cask登録時にバージョン違いのエラーが起こりました。
そこでcentOSにemacs 25.1 を入れます。
yumで入れられないので、ソースからコンパイルします。
このあたり参考にしました。
Installing Emacs 25.1.1 on CentOS 6.8
$ sudo yum install -y xz $ curl http://core.ring.gr.jp/pub/GNU/emacs/emacs-25.1.tar.xz | tar Jxf - $ cd emacs-25.1/ $ ./configure --without-x $ make $ sudo make install $ 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.
caskをインストールする
Macではbrewで提供されているので、brew入れた後にパス通してくれますが、centOSはソースからビルドするので、パスを通す必要あり。
$ curl -fsSL https://raw.githubusercontent.com/cask/cask/master/go | python $ export PATH="$HOME/.cask/bin:$PATH"
ここでcaskのファイルはリポジトリの中にある
caskのコマンドを実行した時に、すでにインストールしていた.emacs.d のディレクトリ配下の.cask以下にコマンドを移動する
caskでパッケージ入れる
# コマンドは以下 $ /.cask/.cask/bin/cask $ cd .emacs.d/ $ cask # cask-bootstrap cask-cli cask がなくcaskが実行できない # この状態でemacsを起動するとcaskがないと言われて起動できない
Macでbrew経由でcaskを入れた場合はこのあたりをよしなにしてくれていたけど、CentOSでソースから入れた場合はcaskの立ち上げ*.elファイルを.emacs.d/.cask配下に置かないとcaskが起動しない。
$ cd $ cp .cask/cask-bootstrap.el ../.emacs.d/.cask/ $ cp .cask/cask.el ../.emacs.d/.cask/ $ cp .cask/cask-cli.el ../.emacs.d/.cask $ cd ../.emacs.d/ $ cask # これでcaskが実行されてパッケージが入る