MacでClojureのセットアップ
追記
手順が抜けて手落ちだったし、これとほぼ同じ事をもっとわかりやすく書いてある記事があったので、ものすごく恥ずかしくなってきました...
以下の記事を参照された方がいいです。ブックマークも以下の記事にしていただいた方がよろしいかと!
以下、書いた記事を一応残しておきます。
Macbook ProにClojureのセットアップをしました。
特にVimClojureの導入が、調べてもなかなか簡単な方法がなくて大変だったので、試行錯誤しながら確認したベストな解決策をメモとして残しておきたいと思います。
環境
- Mac
- OS X Lion
- Vim
- バージョンは7.3
- homebrewでインストールしたもの *1
- プラグインはNeoBundleで管理
- Macのパッケージ管理
- homebrewのみでMacPortsは使ってない
ちなみに、Javaの知識は皆無。
Clojure周りの整備手順
clojureのインストール
brew search clojure
を実行するとclojureの文字があるので、clojureをインストールしました。
brew install clojure
brew install repl
するとどうのこうの言っているので、それもする。
brew install repl
ただ、これ、後述するleiningenをインストールすることで、lein repl
ってコマンドがついてきて、そちらの方が確実に便利でした。ここは不要な手順かも。
clojure-contribのインストール
clojure-contribとはなんぞや?って状態でしたが、書籍とかにもclojure使う上では絶対あった方がいいらしいということですし、brew search clojure
した時、一覧にあったので、homebrewでインストールしました。
brew install clojure-contrib
ログの中に、CLASSPATHを設定しろと言っているので、.bash_profileに追記します。 *2
export CLASSPATH=$CLASSPATH:/usr/local/Cellar/clojure-contrib/x.x.x/clojure-contrib.jar
Vim周りの整備
VimClojureのインストール
VimClojureをインストールします。githubにあったので、NeoBundleを使ってインストールします。
.vimrcに以下を追記しました。
NeoBundle 'vim-scripts/VimClojure'
vimを起動しなおして、:NeoBundleInstall
します。
VimClojureの設定
同梱されているREADME.markdownの書かれている通り、WantNailgunを設定するのと、:help vimclojure.txt
に書いてあった、syntaxを全てONにしました。以下を.vimrcに設定します。
let vimclojure#WantNailgun = 1 let vimclojure#HighlightBuiltins = 1 let vimclojure#ParenRainbow = 1 let vimclojure#DynamicHighlighting = 1
カラフルで素晴らしいですね。
まだ、今日設定をしたばかりなので、他にも設定したくなる箇所が出てくると思います。 *3
nailgunクライアントのインストール
ClojureReplを使うためにnailgunクライアントというものが必要らしいです。README.markdownにも書いてあるのですが、「
brew install nailgun
nailgunのパスを設定
nailgunのパスを.vimrcに追記します。
let vimclojure#NailgunClient = '/usr/local/bin/ng'
ここまですると、:ClojureRepl
が動くはず。
!追記!
ここまでで動くと書いていましたが、勘違いでした。
nailgunサーバーも必要らしいです。起動していたのを忘れておりました。申し訳ありません...
nailgunサーバーのインストール
nailgunサーバー単体をインストールして利用するのがちょっと面倒そうだったので、leinのnailgunプラグインを導入しました。
lein plugin install org.clojars.ibdknox/lein-nailgun "x.x.x"
lein-nailgunのバージョンは、今回は1.1.1でしたが、以下で確認するのがいいと思います。
lein -h
すると、nailgunというオプションが増えています。
使い方
ここまでくると、ようやくVimClojureが使えます。
まず、leiningenでプロジェクトを作ります。
lein new hogeproject
必要に応じて、project.cljを編集し、以下のコマンドでlein-nailgunを起動します。コマンドを実行する際のカレントディレクトリは、project.cljのあるディレクトリである必要があります。
lein nailgun
この後は、vimを起動して:ClojureRepl
が使えます。全く違うディレクトリでも問題ないです。
まとめ
VimClojureの導入は結構面倒でした。bitbucket版を入れてみたり、leinのng-serverプラグインを入れてみたり、いろいろしましたが、以上が割とすんなりいきそうな手順です。
VimClojureを導入したことで、Emacsへの羨望を少し抑えられそうです。
今度は、Compojureを使って何か作ってみます。