もろず blog

もろちゃんがITに関しての様々なトピックを解説します

nvm を利用したnode.js のインストール

f:id:chanmoro999:20140301213131p:plain

2〜3年前までは JavaScript といえばWebブラウザで動くあれ、
というイメージが強かったですが、
仕事でもWebだけのそれではない JavaScript に触れる機会が出てきて、
いよいよ本格的に JavaScript の時代に変わってきていると感じています

そんな JavaScript について調べると、
node.js がどうこうというトピックをよく見るので、
どんなものかを確かめるべくいろいろと使ってみています


そこで今回は、node.js のインストールについてまとめました

そもそも node.js ってなに?誰がうれしいの?
という点については後日改めて記事を書こうと思います

この記事では、
0.nvm ってなに?
1.git のインストール
2.node.js のアンインストール
3.nvm のインストール
4.nvm を利用した node.js のインストール
5.node.js のバージョン切り替え
について説明します


※動作環境
Mac OS X Mountain Lion (10.8.5)
今回はMac でのインストールについてです
WindowsLinux のインストールについては書いてません、ごめんなさい


0.nvm ってなに?

node.js はバージョンアップの頻度が多い上に、
モジュールによっては古いバージョンの node.js じゃないとうまく動かない場合もよくあります

なのでバージョンを上げたり下げたりする場面が多いため、
普通にインストールしてしまうとその作業がかなり面倒です

そこで nvm(Node Version Manager) を利用すると、
とても簡単に動作する node.js のバージョンを切り替えることができます


1.git のインストール

nvm のインストールには git がインストールされている必要があるので、
まずは git をインストールします

通常はインストーラーを利用してインストールすることができます

Google Code Archive - Long-term storage for Google Code Project Hosting.
このページ中央くらいにある "Download the installers here. " のリンクから、
インストーラーをダウンロードできます


ですが、僕の環境ではうまくインストールできず
/usr/bin、/usr/local/bin を確認しても git コマンドが入っていない状態でした

$ git
-bash: git: command not found


そこで Xcodeコマンドラインツールに git が含まれているようなので、
結局それを使って git を入れました

試しにターミナルから確認してみます

$ git
usage: git [--version] [--help] [-c name=value]
・・・


これで無事 git をインストールすることができました

※参考記事
Git "Command not found" Error in Mountain Lion [Quickfix] - Hongkiat


2.node.js のアンインストール

僕の環境では 過去に node.js をインストールしてあったので、
一度アンインストールしておきます
※今回始めて node.js をインストールする方は必要ありません

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
| while read i; do
  sudo rm /usr/local/${i}
done;
sudo rm -rf /usr/local/lib/node \
     /usr/local/lib/node_modules \
     /var/db/receipts/org.nodejs.*

このコマンドで node.js のパッケージに関連したファイル、ライブラリを全て削除しています

また、npm でいれたグローバルモジュールも削除しておきます

sudo rm -rf ~/.npm

※参考記事
node.js - How do I uninstall nodejs installed from pkg (Mac OS X)? - Stack Overflow


3.nvm のインストール

以下のコマンドで nvm をインストールします
たったこれだけでOKです

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh

※2014/10/18 追記
以前記載していた以下のURLは変更されていました
https://raw.github.com/creationix/nvm/master/install.sh


ここでgit のインストールができていないと以下のようなエラーが出ます

dyld: lazy symbol binding failed: Symbol not found: ___strlcpy_chk
  Referenced from: /usr/local/git/bin/git
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ___strlcpy_chk
  Referenced from: /usr/local/git/bin/git
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap: 5

※ちなみに僕がインストールした時はこの方法を知らなかったので、
1つづつコマンドを実行してました
やっていることは同じです

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

~/.bash_profile に以下を追記

source ~/.nvm/nvm.sh

※参考記事
http://log.deconcepter.jp/2013/09/nodejs_nvm/


4.nvm を利用した node.js のインストール

まず、インストール対象の node.js のバージョンを確認します
nvm を使って、利用できる node.js のバージョンを一覧表示できます

$ nvm ls-remote

このようにバージョンの一覧が表示されます

・・・
   v0.11.7
   v0.11.8
   v0.11.9
  v0.11.10
  v0.11.11


次にバージョンを指定して node.js をインストールします

$ nvm install 0.11.11

0.11.x 系の最新をインストールする場合は以下のようにもできます

$ nvm install 0.11


実行するとこんな表示がされます

$ nvm install 0.11
######################################################################## 100.0%
Now using node v0.11.11


以下のコマンドを実行してバージョンが表示されれば、
無事 node.js のインストールが完了です

$ node -v
v0.11.11


5.node.js のバージョン切り替え

use コマンドで node.js のバージョンを切り替えます

$ nvm use 0.11.11

バージョンの指定はインストールの時と同じように、0.11.x 系の最新といった指定もできます

$ nvm use 0.11


use コマンドで利用しているバージョンを指定しても、
再起動の度にインストールされている中で最新のバージョンがデフォルトで利用されてしまいます

それを回避するために、デフォルトで動作させる node.js のバージョンを指定することができます

$ nvm alias default v0.11.11

さて、無事にインストールすることができましたか?

皆さんも一緒に、快適な node.js ライフを過ごしましょう