久々に、Clojureを触ってみたくなりまして。1.1、1.2の頃は触っていたのですが、このところ全然だったので、Clojure 1.3.0をインストールすることにしました。
とりあえずスクリプト的に使うことをメインにするので、Leiningenはいったん置いておきます。
まずは、Clojureのダウンロードページ
http://clojure.org/downloads
よりclojure-1.3.0.zipをダウンロード。
これを適当なところに展開します。自分は、/usr/localの下に入れることにしているので
$ cd /usr/local/ $ sudo mkdir clojure $ cd clojure/ $ sudo cp [clojure-1.3.0.zipのダウンロード場所] ./. $ sudo unzip clojure-1.3.0.zip $ sudo ln -s clojure-1.3.0/clojure-1.3.0.jar clojure.jar
Clojureの本体はclojure-X.Y.Z.jarなので、今後のバージョン変更に備えてシンボリックリンクにすることにしました。
メインクラスの起動方法を書いてある以下のページによると、clojure-X.Y.Z.jarにクラスパスを通してclojure.mainを指定すればよいそうです。
[The REPL and main entry points]
http://clojure.org/repl_and_main
というわけで、簡単な起動スクリプトを作ります。
$ cat clj #!/bin/bash declare -a ARGS APPEND_CLASSPATH= while [ "$1" != "" ]; do if [ "$1" == "-cp" ]; then shift APPEND_CLASSPATH="$1" else ARGS=("${ARGS[@]}" "$1") fi shift done ${JAVA_HOME}/bin/java -cp `dirname $0`/clojure.jar:"${APPEND_CLASSPATH}" clojure.main ${ARGS[*]}
(4/21 更新)
権限変更。
$ sudo chmod a+x clj
あと、unzipしてできたファイルやディレクトリの権限もちょっと微妙だったので、find xargs chmodで補正しておきました。
$ sudo find clojure-1.3.0 -type f | xargs sudo chmod 644 $ sudo find clojure-1.3.0 -type d | xargs sudo chmod 755
つまり、こんな感じ?
$ ll 合計 16 drwxr-xr-x 3 root root 4096 2012-04-15 17:43 ./ drwxr-xr-x 19 root root 4096 2012-04-15 17:23 ../ -rwxr-xr-x 1 root root 79 2012-04-15 17:36 clj* drwxr-xr-x 5 root root 4096 2011-09-23 13:49 clojure-1.3.0/ lrwxrwxrwx 1 root root 31 2012-04-15 17:29 clojure.jar -> clojure-1.3.0/clojure-1.3.0.jar
あとは、作った/usr/local/clojureにパスを通して終了。.bashrcにでも。
export CLOJURE_HOME=/usr/local/clojure PATH=${CLOJURE_HOME}:${PATH}
REPLを起動。
$ clj Clojure 1.3.0 user=>
テストスクリプトを作って、起動。
$ cat hello.clj (println "Hello Clojure!!")
$ clj hello.clj Hello Clojure!!
うまくいってそうですね。
あと、Clojure 1.3.0ではContribがどっかに行っちゃったみたいです。
案内は、こちら。
http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go
パッと見た感じ、Leiningenとかを使って依存関係の解決を使って引っ張ってきてねってスタンスみたいですね。前のJARをダウンロードしてとりあえずクラスパスを通す方が、スタートアップとしてはお手軽だったような…。
ライブラリとして整理される過程でこうなっちゃったのかなぁ?
あとは、Emacsにclojure-modeを追加。
こちらから、clojure-mode.elをダウンロードしてきて…
https://github.com/jochu/clojure-mode
.emacsに、以下を追加。
;; clojure-mode (require 'clojure-mode) (autoload 'clojure-mode "clojure-mode" "Clojure editing mode." t) (add-to-list 'auto-mode-alist '("\.clj$" . clojure-mode))
さてさて、Clojureの書籍といえば日本ではこの本のみですが、

- 作者: Stuart Halloway,川合史朗
- 出版社/メーカー: オーム社
- 発売日: 2010/01/26
- メディア: 単行本(ソフトカバー)
- 購入: 10人 クリック: 338回
- この商品を含むブログ (72件) を見る