darudaru

だるだるしてるエンジニア

node.jsをnodebrewを使ってバージョンアップする

hubotで遊んでみたい、と思い立ち、やり方について調べていたらnode.jsのインストールが必要とのことで。 試しにnode.jsのコマンドをmacで実行してみたところインストールされてるっぽいが、バージョンがものすごく古そうなのでバージョンアップをすることにしました。

 

$ node -v
v0.10.13

調べてたら2013年ごろのバージョンらしいです。そりゃ古いわ。

nodebrew をインストールする

node.jsのバージョンを管理できるnodebrewを使ってバージョンアップをしていきます。 基本的には、https://github.com/hokaccha/nodebrew のドキュメントに沿ってコマンドを叩いていくだけです。

 

$ curl -L git.io/nodebrew | perl - setup

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0

0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0

100 24340  100 24340    0     0   4882      0  0:00:04  0:00:04 --:--:--  4882

Fetching nodebrew...

Installed nodebrew in $HOME/.node brew

できた。

 

次に、.bashrcに環境変数を設定します。 .bashrcが無い場合は新しく作りましょう。

export PATH=$HOME/.nodebrew/current/bin:$PATH

 

.bashrcを再読み込みします。

$ source ~/.bashrc

 

nodebrewのコマンドが実行できるか確認します。

$ nodebrew help

 

結果が返ってきたらokです。

node.jsをバージョンアップする

インストール可能なバージョンを確認します。

$ nodebrew ls-remote
v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6
…

 

バージョンを確認したらnode.jsのインストール、なんですが、「現時点の安定版をインストールする」というコマンドがあるのでそちらを使っていきます。

$ nodebrew install-binary stable
Fetching: https://nodejs.org/dist/v6.7.0/node-v6.7.0-darwin-x64.tar.gz
######################################################################## 100.0%
Installed successfully

ちなみに、 「nodebrew install-binary latest」だと最新版のインストール。 「nodebrew install-binary バージョン番号」で、バージョン指定でのインストールができます。

 

nodebrewがインストールできたかを確認します。

$ nodebrew ls
v6.7.0

current: none

 

v0.10.13が既に入ってるはずなのに、current:noneってなってる・・・?と疑問に思いながらも使用するバージョンに切り替えます。

$ nodebrew use v6.7.0
use v6.7.0

 

バージョン確認します。

$ node -v
v0.10.13

 

あれ、古いまま。

 

nodebrewのコマンドのほうでバージョンを確認します。

$ nodebrew ls
v6.7.0

current: v6.7.0

バージョンはあがってはいるようです。

 

ターミナルを再起動してもう1回node.jsのコマンドでバージョンを確認します。

$ node -v
v6.7.0

無事バージョンアップできました。

 

ちなみにnodebrewなんてわざわざインストールしなくても、node.jsだけインストールすりゃいいじゃん、と思うかもしれませんが、nodebrewを使うことで依存関係があるライブラリも一緒にインストールできたり、もしくは無ければエラーで気づかせてくれるので、nodebrewを積極的に使っていくとよいと思います。