今回、Node.jsを自分のMac(Mac OS X Mountain Lion : 10.8.2)にインストールしました。インストールの手順をまとめておきます。

Node.jsはJavaScriptの実行プラットフォームで、通常クライアントサイドで動くJavaScriptを、サーバーサイドで動かすことができます。GoogleのJavaScript実行エンジンであるV8エンジンを使っているため、性能も高いというのがその特徴です。また、非同期I/Oを簡単に扱えるようにもなっています。またGruntなどのビルドツールを使う場合もNode.jsが必要になってきます。
Node.jsの公式サイトは以下となります。
Homebrewを使ってNode.jsをインストールする
Node.jsのインストールは、Macのパッケージ管理システムであるHomebrewで簡単に行えます。
Homebrewのインストール方法については、Ruby on Railsをインストールした際に投稿した以下の記事を参考にしてください。
Macのターミナルを起動して、まずHomebrewでNode.jsがインストール可能かどうか[brew search]コマンドで検索してみます。
$ brew search node
leafnode node
homebrew/versions/node06 homebrew/versions/node4
インストール可能であることがわかったので、次に[brew info]コマンドで、Node.jsのFomula(パッケージ)情報を確認してみます。
$ brew info node
ode: stable 0.8.19, devel 0.9.9, HEAD
http://nodejs.org/
Not installed
https://github.com/mxcl/homebrew/commits/master/Library/Formula/node.rb
==> Options
--enable-debug
Build with debugger hooks
--without-npm
npm will not be installed
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
/usr/local/share/npm/bin
Node.jsのFomula(パッケージ)情報を確認したら、さっそく[brew install]コマンドでインストールします。
$ brew install node
==> Downloading http://nodejs.org/dist/v0.8.19/node-v0.8.19.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.19
==> make install
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
/usr/local/share/npm/bin
==> Summary
/usr/local/Cellar/node/0.8.19: 883 files, 13M, built in 109 seconds
インストールが完了したら、[node -v]コマンドでインストールされたNode.jsのバージョンを確認します。バージョン数がちゃんと表示されれば、問題なくインストールされているということになります。
$ node -v
v0.8.19
Node.jsをインストールすると同時にnpmというNode.jsのパッケージ管理ツールもインストールされます。こちらも[npm -v]コマンドで問題なくインストールされているか確認します。
$ npm -v
1.2.10
これでNode.jsのインストールは完了です。次は、インストールしたNode.jsで「Hello World」を表示させてみます。
Hello Worldを表示させる
Node.jsの公式サイトに以下のようなサンプルコードが出ています。「ブラウザーからhttpで1337番ポートにアクセスしたら、『Hello World』というテキストを返す」サンプルになっています。こちらをテキストエディタに貼付けて「example.js」と保存します。
// 'http'モジュールを読み込む
var http = require('http');
// createServerメソッドを実行
http.createServer(function (req, res) {
// HTTPレスポンスヘッダー(ステータスコード、ヘッダーフィールド)を送信
res.writeHead(200, {'Content-Type': 'text/plain'});
// HTTPレスポンスのボディとして「Hellow World\n」を送信し、コネクションを切断
res.end('Hello World\n');
// IP(127.0.0.1)とポート番号(1337)を設置してサーバーを起動
}).listen(1337, '127.0.0.1');
// コンソール(コマンドライン)にメッセージを表示
console.log('Server running at http://127.0.0.1:1337/');
保存した「example.js」ファイルに対して、Macのターミナルから以下のコマンドを実行します。
$ node example.js
Server running at http://127.0.0.1:1337/
ブラウザーからhttp://127.0.0.1:1337/にアクセスし、「Hallo World」と表示されれば成功です。

TCPサーバーを試す
またNode.jsの公式サイトには、以下のようなnetモジュールを使ったサンプルコードも紹介されています。こちらは「1337番ポートをリッスンし、何でもエコーするシンプルなTCPサーバ」のサンプルになっています。テキストエディタに貼付けて「tcp.js」と保存してみます。
var net = require('net');
var server = net.createServer(function (socket) {
socket.write('Echo server\r\n');
socket.pipe(socket);
});
server.listen(1337, '127.0.0.1');
保存した「tcp.js」ファイルに対して、Macのターミナルから以下のコマンドを実行します。1337番ポートのネットワーク接続を受け付ける状態となります。
$ node tcp.js
別タブで新たにターミナルを起動して、Telnetで動作確認してみます。
$ telnet 127.0.0.1 1337
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Echo server
エコーするTCPサーバーとなっているので、ターミナル上で何かテキストを入力すると、入力したテキストを返してくるはずです。例えば以下のように「hello」と入力した時に、ちゃんと「hello」と返してきたら、問題なくTCPサーバーとして動作していることとなります。
$ telnet 127.0.0.1 1337
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Echo server
hello
hello
これでNode.jsをMacで使う環境が整いました。あとは使いこなせるようになるために挑戦するのみですね!学習にはドットインストールがお勧めです。
最後に今回参考にした本も以下に紹介しておきます。技術評論社の『WEB+DB PRESS』のJavaScript関連の掲載記事を集めて再編集したものとなっていますが、Node.jsについてもかなり詳しく書いてあります。けっこう重宝すると思います。
- 『JavaScript徹底攻略』 (WEB+DB PRESS plus)
- 出版社: 技術評論社
- 発売日: 2013年1月26日
- ISBN: 477415489X
コメント