1月 052012
node.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 コメント