@Konboi memo

主に技術に関してつらつらと。

centosでcaskを使ってsmartchr.elを入れるまで色々大変だった。

追記

本家にp-r済みなのでsmartchr.elは問題なくインストールできると思います。

はじめに

最近 いろんな人が cask を使ってemacslispを管理してるらしいので、 自分もやってみた。

が、色々嵌ったのでメモしておく。

前提条件

vagrant + chef で環境構築している話

でやっているとおり Mac×VagrantCentosに開発環境を作ってます。 最近Dockerを導入したいなと思っております。

caskのインストール

caskは

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

home ディレクトリ以下に .cask ができる形でインストールしました。

PATHも通さずそこまで使わないだろうと ~/.cask/bin/cask で使っています

caks ハマり1

caskで最初に嵌ったのは Cask に設定したみんなが大好きgithubからcloneしてくるところです

Cask

(depends-on "smartchr" :git "git@github.com:imakado/emacs-smartchr.git")

こんな感じで設定すると思います。

そこで $ ~/.cask/bin/cask を実行すると

Wrote /home/vagrant/config/dot-emacs/.cask/24.3.2/elpa/archives/gnu/archive-contents
Wrote /home/vagrant/config/dot-emacs/.cask/24.3.2/elpa/archives/melpa/archive-contents
Dependency smartchr failed to install: Command '(timeout -k 60 600 git remote show -n origin)' exited with non-zero status 125: /usr/bin/timeout: �׷LUD~Y -- 'k'
sWOo `/usr/bin/timeout --help' ��LWf
                                    UD.

Output:

こんな感じでエラーになります。 エラー内容は初回じゃないので微妙に違うと思いまが似たような感じになると思います。

ハマり1解決方法

timeout コマンドのオプションに -k オプションがないのが原因っぽい。 なので、普段 timeoutコマンド使わないのでrenameしてしまいました。

$ which timeout
/usr/bin/timeout

sudo mv /usr/bin/timeout /usr/bin/timeout-bk

こんな感じでrenameし再度 ~/.cask/bin/cask を実行したら解決!!

とはいきませんでした…

caskハマり2

再度 $ ~/.cask/bin/cask を実行すると

こんな感じで実行すますが、上手くインストールできません…

$ ~/.cask/bin/cask
Wrote /home/vagrant/config/dot-emacs/.cask/24.3.2/elpa/archives/gnu/archive-contents
Wrote /home/vagrant/config/dot-emacs/.cask/24.3.2/elpa/archives/melpa/archive-contents
Wrote /home/vagrant/.cask/tmp/packages/smartchr-20091128.203.el
Dependency smartchr failed to install: Packages lacks a file header
Output:
Saving file /home/vagrant/.cask/tmp/packages/smartchr-20091128.203.el...

ハマり2解決方法

調べてもだめだったので、意を決してissueをなげてみました。

cask/cask#216

するとコメントの形式がまちがっているとのこと。 ということなので、自分のところで修正してみました。

Fixed file headers #1

そして Cask を修正して

(depends-on "smartchr" :git "git@github.com:Konboi/emacs-smartchr.git")

にして再度実行

問題なくインストールできました。

やったー!

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)