node.js と CoffeeScript を Mac OSX にインストールする

2010/12/19・20追記 node.js は発展途上にあるので、 「複数のバージョンの node.js を利用できる環境」を用意したほうがよいと思います。

Rails 3.1 で CoffeeScript がサポートされるという作者のコメントを見かけたので、CoffeeScript を試してみることにしました。github で急激に大きな注目を浴びており、JavaScript Good Parts の著者である Douglas Crockford がほめていて、Windows で動かせたという報告がされているので、今後の展開が楽しみです。スコープを隠匿するために多用される function ステートメントが右矢印記号 (->) に置き換わるだけでも抵抗感がすごく減るのに驚きです。

環境変数の PATH を修正する

sudo を使わなくてすむようにインストール先を ~/local にしました。~/.profile ファイルを編集して node コマンドのインストール先のパスを環境変数の PATH に追加します。

echo 'export PATH=$PATH:~/local/bin' >> ~/.profile

.profile ファイルの修正内容を反映させます。

source .profile

PATH がきちんと定義されているか確認します。

echo $PATH

node.js をソースからインストールする

sudo port install nodejs でインストールできますが、node.js の開発が活発で、バージョンアップがはやいので、ソースからコンパイルすることにしました。

git clone https://github.com/ry/node.git
cd node
./configure --prefix=~/local
make
make install

インストールしたあとで which node を実行すればインストール先を確認できます。

npm (node package manager)をインストールする

README ファイル を読むと、sudo でのパッケージインストールは非推奨とされているので、.npmrc ファイルをユーザーのホームディレクトリに用意することにしました。

cat >>~/.npmrc <<NPMRC
root = ~/.node_libraries
binroot = ~/local/bin
manroot = ~/local/share/man
NPMRC

次にインストーラを curl でダウンロードして実行します。

curl http://npmjs.org/install.sh | sh

インストールが終わったあとで which npm コマンドを実行すればインストール先を確認できます。もし何も表示されないのであれば、$PATH が適切に設定されていない可能性があります。

CoffeeScript をインストールする

npm install coffee-script

which coffee コマンドを実行すると $HOME/bin/coffee が存在することが確認できます。

CoffeeScript で Hello World

ファイルの名前を test.coffee として次の内容を保存します。

console.log 'Hello World、こんにちは'

console.log は node.js でサポートされている関数で、ほかには次のコマンドを実行します。

coffee test.coffee

console.log 以外に sys.puts を使って文字列を表示することもできます。

sys = require 'sys'
sys.puts 'Hello World、こんにちは'

stackflow の解説によると、sys.puts と console.log は stdout ストリームに書き込むことは同じであるが、違いは前者が文字列だけを対象としているのに対して、後者は Array、JSON、JSObject などの複雑なオブジェクトも表示できるであるとのことです。

node.js のモジュールを探すには?

公式マニュアルの付録 や github の wiki にまとめられています。