2011/01/19

MacのターミナルでJavaScriptを実行する(V8)

V8とは、Googleが開発しているJavaScriptの実行エンジンです。
Google ChromeやAndroid Browserで使われています。
Google Chromeのコンソールからも使えますが、あえてコマンドラインからやりたい場合があります。
Fire Foxなどで採用されているRhinoをコマンドで使う方法は、MacのターミナルでJavaScriptを実行するよ(Rhino)を見てください。


前準備
Terminalを起動します。
/Applications/Utilities/Terminal.app
もしくは、
アプリケーションフォルダ内のユーティリティフォルダの中にTerminalというソフトがあるので、コイツをクリックします。

python版make(?)の「Scons」インストール。
ソースをダウンロードしてきます。
http://www.scons.org/

ダウンロードしたファイルを解凍して、解答したディレクトリ下に移動します。

Sconsをインストールします。
$ pwd
/Users/${user}/Develop/scons-2.0.1
$ sudo python setup.py install
管理者パスワードを聞かれるかもしれないので、入力してあげてください。

ソースをsvnを使用してチェックアウトします(macには元々svnが入ってると思います)
$ svn checkout http://v8.googlecode.com/svn/trunk/ v8-read-only
$ cd v8-read-only/

v8をビルドします
$ scons d8 console=readline
(行での編集を有効にする)オプションを付けたい場合(なくても良い)
$ scons d8 console=readline

これでオッケーです。試しに実行してみます。
./d8
d8> print("hello, world");
hello, world
d8> quit();


便利にアクセスできるように「/usr/local/bin」下にインストールしておきます(なくても良い)
オプションの-mで、アクセス権を設定しています(余談ですが、アクセス権設定はここがオススメです)。
ユーザーには読み書き実行権限を、グループ・その他には読み込み実行権限を付けています。
$ sudo install -m 755 d8 /usr/local/bin
$ d8
d8> print("hello, world");
hello, world
d8> quit();

参考URL
http://code.google.com/intl/ja/apis/v8/build.html
http://diaspar.jp/node/214

これでブラウザを使わなくても、JSができます。
やったねたえちゃん!