Javaで動作する各種言語処理系の手動インストール方法メモ

個人的にここ最近Javaプラットフォームで動作する言語処理系に触れることが多い。といっても仕事じゃなくて個人的な勉強――という名の趣味の範疇なのだけど。

で、ちょっと困ったのがインストール方法。インストーラ付きのパッケージもあるのだけど、趣味やら興味本位やらでちょっと触ってみる分にはそういった「インストーラでガッツリ」というのは煩わしいというか、アンインストーラを信じきれないというか。

幸いというか単なるZipアーカイブあたりを配布している所が多いので、ひとまず手元の処理系について手動での導入方法を記録しておく。言語学習用の手抜きインスコなので、本格的に導入するケースには向いてないと思う。

対象となる環境はWindows XP Professional SP3ないしUbuntu 10.04 LTS 32bit。どちらもJREのみを入れてある(JDKは未インストール)。WindowsはSun(というかOracle)本家のJREUbuntuではOpenJDKのJREだ。

なおこのエントリは「分かる人には分かる」書き方なので注意。例えばファイルパスは適当な例なので環境に応じて変更する必要があるし、chmodやlnのコマンド実行例は省いている。

あとJRubyJythonインストーラ付きしか配布していないようなので除外。まあRubyMRIを使っているので「言語の勉強」という観点ではJRubyは不要なんだよなあ。

Alloy Analyzer 4.1, 4.2-rc : Ubuntu

……えーと、これも一応言語処理系なので。単に扱う言語がプログラミング言語じゃなくて仕様記述言語なだけで。

Alloy AnalyzerはJARファイル単体で配布されている。JREとJARファイルの間で関連付けがされていれば、ダウンロードしたJARファイルをダブルクリックするだけでも動作する。ただUnix環境の場合はchmodでファイルに実行権限を付加する必要があるかもしれない。

コンソールから起動したい場合は、

#!/bin/sh
java -jar /PATH/TO/alloy/alloy4.2-rc.jar

みたいな感じのシェルスクリプトを作ってPATHの通っているディレクトリに放り込んでおけばOK。

Windowsでは試していないけど、概ね同じ方法で大丈夫だと思う。

Clojure 1.4.0 : Windows XP, Ubuntu

インストール方法はWindowsUbuntuともほぼ同じ。

配布されているZipファイルを伸張、展開して、その中のclojure-1.4.0.jarをjavaコマンドで実行するバッチファイルないしシェルスクリプトを作り、PATHが通っているディレクトリに置いておけばよい。

バッチファイルの例:

@echo off
java -cp "C:\PATH\TO\clojure-1.4.0\clojure-1.4.0.jar" clojure.main %*

シェルスクリプトの例:

#!/bin/sh
java -cp /PATH/TO/clojure-1.4.0/clojure-1.4.0.jar clojure.main "$@"

もっともある程度本腰を入れて勉強したいならSLIMEは必須かも。

Groovy 2.0.0 : Windows XP, Ubuntu

インストール方法はWindowsUbuntuとも同じ。

配布されているZipアーカイブを伸張、展開して、その中のbinディレクトリへの絶対パスをPATHに追加しておけばOK。最近はGROOVY_HOMEを設定しないのが主流らしい。確かにstartGroovy.batやstartGroovyの中に「GROOVY_HOMEが設定されてなければ自動的に設定する」という処理が入っている。

Ubuntuの場合はPATHを通さなくても何とかなる。PATHの通ったディレクトリにbin以下のシェルスクリプトへのシンボリックリンクを貼るという力技だ。ただこの方法は幾つかあるスクリプトのうちgroovyshでしか試していない。

ちょっと気になったのがJAVA_HOME。Windowsでは不要だったけどUbuntuでは手動で設定しておかないと起動すらしなかった。startGroovy.batもstartGroovyもJAVA_HOMEが設定されてなければ自動的に設定するようになっているのだけど、startGroovyでは自動設定の処理の際にPATHの中からjavacコマンドを探していて、JREのみの環境ではjavacが存在しないので失敗しているっぽい。これは微妙にバグなのか、それどもGroovyを十二分に使うにはJDKが必要だという意思表示なのか、ちょっと判断しかねる……startGroovy.batの中ではjavacじゃなくてjavaコマンドを探しているんだよなあ。どっちがバグだ?

javaCASL2 2.0 : Windows XP, Ubuntu

id:eel3:20120108:1326031631 参照。

Processing 1.5.1 : Ubuntu

tar.gzなアーカイブで配布されている。伸張、展開して生成されたディレクトリ直下にprocessingという名前のシェルスクリプトがあり、それを叩けば起動する。GNOMEの標準のツールで展開する分にはchmodで実行権限を付加しなくても大丈夫な模様。

コンソールから起動したい場合は展開したディレクトリをPATHに追加するか、又はPATHの通ったディレクトリに先のシェルスクリプトへのシンボリックリンクを作ればよい。$HOME/binにPATHが通っているような環境ではシンボリックリンクの方が楽かも。

Windows XPでは動かしていないけど、多分同じ要領でOK。但し実行するのはシェルスクリプトではなくてprocessing.exeという名前の実行ファイルになる。

Rhino 1.7R4 : Windows XP, Ubuntu

インストール方法はWindowsUbuntuともほぼ同じ。

配布されているZipファイルを伸張、展開して中を覗くと色々なファイルがあるものの、どうやら動作に必要なのはjs.jarないしjs-14.jarだけらしい。JRE 1.4のような古いJavaプラットホームではjs-14.jarを、1.5以降のプラットホームではjs.jarを使う。

まあ最近は特にしがらみがなければJava 1.6か1.7を使っているはずなので、js.jarでOKなはず。分からなければコマンドプロンプトやコンソールで、

java -version

で確認すればよい。JREJDKが入っていれば答えが返ってくるはず。

Rhinoを使うには以下のようなバッチファイルないしシェルスクリプトを作って、PATHが通っているディレクトリに置いておけばよい。

バッチファイルの例:

@echo off
java -cp "C:\PATH\TO\rhino1_7R4\js.jar" org.mozilla.javascript.tools.shell.Main %*

シェルスクリプトの例:

#!/bin/sh
java -cp /PATH/TO/rhino1_7R4/js.jar org.mozilla.javascript.tools.shell.Main "$@"

それでは皆様、よい末尾再帰を――。*1

Scala 2.9.2 : Windows XP, Ubuntu

手動インストール方法はWindowsUbuntuともほぼ同じ。

Windows用の手動インストールではZipアーカイブを、Linuxではtar.gzなアーカイブを使う。もっとも私の場合は面倒なのでどちらもZipアーカイブを使ったのだけど。

基本的にはアーカイブを伸張、展開して、その中のbinディレクトリへの絶対パスをPATHに追加しておけばOK。SCALA_HOMEは設定していないけど、今の所Scalaの処理系Onlyで他のツールとの連携が不要なので、それでも大丈夫なのかも。

Ubuntuの場合はPATHを通さなくても何とかなる。PATHの通ったディレクトリにbin以下のシェルスクリプトへのシンボリックリンクを貼るという力技だ。ただこの方法は幾つかあるスクリプトのうちscalaでしか試していない。

ちなみにUbuntuWindows用のZipアーカイブでインストールする場合、bin以下のスクリプトに実行権限を付ける必要がある。多分、tar.gzアーカイブならこの問題は解決されていると思う。

*1:Rhinoインタプリタモードは効率が良くない反面、コンパイル時間が最小限で且つ末尾再帰除去を行う。最適化オプション `-1' でGo!