1月 052012
 

nvmでnode.jsをインストールする | Inhale n’ Exhalenode.jsはソースコードに加えて、Windows版、Mac版のインストーラが用意されているが、なにせnode.jsは今のなお開発進行形で頻繁にバージョンアップがされており、その都度アンインストール/再インストールするのは非常に面倒だ。node.jsはRubyの影響を強く受けているのか、RVM(Ruby Version Manager)と同じようなNVM(Node Version Manager)というバージョン管理システムが用意されている。開発環境としてはNVMを利用してnode.jsを自動インストールする方が便利だ。


もし既にnode.jsのいずれかのバージョンをインストール済みの場合は、先に手動でアンインストールしておこう。ソースからビルドしてインストールした場合、prefixがデフォルトで/usr/localになっているので、以下のコマンドでnode.jsの構成ファイルを削除しておく。

$ cd /usr/local
$ sudo rm -rf {bin,lib,include}/node share/man/man1/node.1

nvmのインストールと言ってもGitHubからチェックアウトするだけ。ホームディレクトリ配下の.nvmディレクトリにnode.jsの環境設定に必要なファイル群を置いていくことにする。

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

nvmコマンドを使うとnode.jsを自動でインストールできるようになる。本エントリ執筆時点で最新バージョンのv0.6.6をインストールしてみる(公開されているバージョンの一覧はnodejs.org/distを参照)。

$ nvm install v0.6.6
######################################################################## 100.0%
Checking for program g++ or c++          : /usr/bin/g++ 
Checking for program cpp                 : /usr/bin/cpp 
Checking for program ar                  : /usr/bin/ar 
Checking for program ranlib              : /usr/bin/ranlib 
Checking for g++                         : ok  
Checking for program gcc or cc           : /usr/bin/gcc 
Checking for gcc                         : ok  
Checking for library dl                  : not found 
Checking for openssl                     : not found 
Checking for function SSL_library_init   : not found 
Checking for header openssl/crypto.h     : not found 
/home/hfujita/.nvm/src/node-v0.6.6/wscript:374: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message.
nvm: install v0.6.6 failed!

OpenSSLの開発用パッケージが必要らしいのでyumでインストールしてから、再度nvmコマンドを実行してみる。

$ sudo yum -y install openssl-devel
$ nvm install v0.6.6

ソースのダウンロード、ビルド、インストールが行われるので完了するまで気長に待つ。インストールが完了したらnodeのバージョンを確認。nvmを使うとnpmの最新バージョンも一緒にインストールされる。

$ node -v
v0.6.6
$ npm -v
1.1.0-beta-4

自分のシェル環境でnvmコマンドが使えるように、~/.bashrc(もしくは~/.bash_profile)に以下のスクリプトを追加しておく。

if [ "$TERM" = "xterm" ]; then
    # Enable nvm (Node Version Manager)
    if [ -s ~/.nvm/nvm.sh ]; then
        . ~/.nvm/nvm.sh
        nvm alias default 0.6 > /dev/null
    fi
fi

nvm alias defaultにより、0.6.xの最新バージョンがデフォルトで有効化されるようになり、v0.6.7がリリースされてnvmでインストールした場合、いちいち.bashrcを書き換えなくても自動的にv0.6.7に切り替わる。

  2 コメント

 返信する

以下のHTML タグと属性が利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください