[javascript] Chrome の JavaScript 処理系 v8 を OSX に入れてみた

ふいに Chrome の JS 処理系をコマンドラインから実行したくなったので入れてみることにした。
Chrome のコンソールがあるからいらないといえばいらないのだけど…。)

v8 のビルドには SCons というビルドツールが必要らしいのでそれを入れる必要がある。
また、SCons のインストールには Python が必要。

まず Python から

たぶん OSX 10.7.4 にはデフォルトで python が入っているので、新たに入れ直す必要はない。

$ python --version
Python 2.7.1

次に SCons

SCons のソースは以下から取ってくる。
scons-2.1.0.tar.gz

作業ディレクトリ(ここでは ~/src)に持ってきてセットアップする。

$ mv ~/Downloads/scons-2.1.0.tar.gz ~/src
$ cd ~/src
$ tar zxvf scons-2.1.0.tar.gz
$ cd scons-2.1.0
$ sudo python setup.py install

最後に v8

git から v8 をクローンする。

$ cd ~/src
$ git clone https://github.com/v8/v8.git

SCons でビルド。

$ cd v8
$ scons sample=shell

ビルドが終わると ~/src/v8 以下に shell という実行ファイルが出来ている。これが v8 の処理系。
このままだと使いづらいので、シンボリックリンク /usr/bin/v8 を作っておく。

sudo ln -s ~/src/v8/shell /usr/bin/v8

これでどこからでも v8 と叩けば呼べるようになる。

こんな感じで動くよ

$ v8
V8 version 3.12.15 (candidate) [sample shell]
> print('hello, world!');
hello, world!
> ^C

抜けたいときは ^C で抜けられる。

ファイルを指定して実行することも可能。

$ echo 'print("from test.js");' > test.js
$ v8 test.js
from test.js