nvm + Node.jsをUbuntu 12.04LTSにインストールする


Node.jsをUbuntu 12.04LTSにインストールしてみました。

Node.jsは、Ubuntuのパッケージになっていますが、現在、開発のペースが速く、パッケージでインストールされるのは結構古いバージョンになってしまいます。そこで、パッケージは利用せずに、手作業でNode.jsをインストールすることにしました。

また、複数バージョンのNode.jsをインストールしておき、必要に応じてバージョンを切り替えるツールnvmを使うことにしました。バージョンの更新が頻繁なために、複数バージョンを共存させて切り替えて使おうという魂胆です。

nvmのインストール

まず最初にnvmをインストールします。nvmは、自分が置かれたディレクトリの中に、Node.jsをインストールします。

ここでは、~/nvmにnvmをインストールすることにしました。

1. nvmのソースを取得する

nvmのソースはGitHubで公開されているので、必要なディレクトリを作り、git cloneすれば、nvmのソース一式を取得できます。

$ mkdir ~/nvm
$ cd ~/nvm
$ git clone git://github.com/creationix/nvm.git .

ファイルREADME.markdownには、インストールの手順やnvmの使い方が書いてあるので目を通すとよいでしょう。

2. nvmコマンドを起動してみる

設定ファイルnvm.shをシェルに読み込ませると、nvmコマンドを使えるようになります。具体的には、コマンドラインから次のようにすれば、nvmコマンドが使えるようになります。

$ . ~/nvm/nvm.sh

nvmコマンドをパラメータ無しで起動して、次の例のように使い方が表示されればOKです。

$ nvm

Node Version Manager

Usage:
    nvm help                    Show this message
    nvm install <version>       Download and install a <version>
    nvm uninstall <version>     Uninstall a version
    nvm use <version>           Modify PATH to use <version>
       <<以下略>>

3. nvmコマンドを常に使えるように設定する

次の1行を、~/.bashrcや~/.profileに入れておけば、ログイン時に自動的に実行されてnvmが使えるようになります。(この設定を行なってから、ログインし直してください。)

# Setting for 'nvm' and 'node.js'
source $HOME/nvm/nvm.sh

node.jsのインストール

さて、nvmがインストールできたので、次はnode.jsをインストールしましょう。

node.jsの公式サイトhttp://nodejs.org/を見ると、現時点での最新バージョンはv0.8.15なので、このバージョンをインストールしてみましょう。

1. nvm installコマンドでnode.jsをインストールする

nvm installコマンドを使えば、指定したバージョンのnode.jsをインストールすることができます。

$ nvm install 0.8.15
######################################################################## 100.0%
Now using node v0.8.15
$

2. node.jsがインストールできたことを確認

node -vコマンドを実行すると、node.jsのバージョンが表示されます。

$ node -v
v0.8.15
$

3. サーバプログラムを動かして動作を確認する

node.jsで、簡単なサーバプログラムを動かしてみます。

次の内容のファイル node_test.js を用意します。

ファイルnode_test.js:

var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-type': 'text/plain'});
    res.end('Hello World\n');
}).listen(5001, '0.0.0.0');
console.log('Server running at http://localhost');

ファイルnode_test.jsを引数として渡して、nodeコマンドを実行します。

$ node node_test.js

ブラウザからこのホストのポート5001にアクセスすると、「Hello World」と表示されるはずです。

これで、node.js(v0.8.15)がインストールされて、正しく動作していることが確認できました。

nvmコマンドの使い方

コマンドnvm lsで、インストールされているnode.jsのバージョンの一覧が表示されます。

$ nvm ls
    v0.8.9         v0.8.15
current:        v0.8.15
$

nvm useコマンドで、使用するnode.jsのバージョンを切り替えます。この例では、0.8.15を使用するようにします。

$ nvm use 0.8.15
Now using node v0.8.15
$

先ほど行なった~/.bashrcや~/.profileでのnvmの設定の直後で、利用するnode.jsのバージョンをnvm useコマンドで指定しておくと便利です。

# Setting for 'nvm' and 'node.js'
source $HOME/nvm/nvm.sh
nvm use 0.8.15 >/dev/null