maesblog

Mac OS X Mountain LionにNode.jsとnpmをHomebrewを使ってインストールする

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

Node.jsロゴ

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」と表示されれば成功です。

Node.jsサーバーを起動

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

関連記事

コメント

  • 必須

コメント