一から勉強させてください( ̄ω ̄;)

最下級エンジニアが日々の学びをアウトプットしていくだけのブログです。

node.jsをnvmで管理する形式に変更してみた

以前、Node.js導入してみたという記事を書いたのですが、今更になってここでやったインストール方法だと「めまぐるしいnode.jsのバージョンアップにはとても耐えられない」ということに気づきました。。


そこで今回は、nvm (Node Version Manager)というツールを導入して、Node.js を簡単にバージョン管理できる形式に変更してみたいと思います。(ちなみに似たようなので、naveというものもあるみたいです。)


1, node.jsのアンインストール

まずはじめの難関、すでにインストールしてしまったnode.jsのアンインストールです。


これに関しては、こちらの記事を参考にしてやってみました。ありがとうございます。

http://notepad2.blogspot.jp/2012/06/how-to-uninstall-nodejs-on-mac-os-x.html


ひとまずターミナルで上記に書いてあったコマンドを打ってみます。

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

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*


大量にNo such file or directory的な文が流れまくって止まりました…w

わけわからん…


lsbomって、更新されたファイルの確認をするためのコマンドか何かですよね??
うーーん、、ここはまた勉強しなおすということで…


でもなんだかんだでnode.js消えたっぽいです。


2, nvmのインストール

次にnvmのインストールです。

これに関してはこちらの記事を真似してインストールさせていただきました!!ありがとうございます><


http://tmlife.net/programming/javascript/nvm-nodejs-install.html


どうやらgit経由でとってくるみたいですね。まずはこれ。

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


これで無事、nvmをゲットできたので、nvm.shを実行します。

source ~/.nvm/nvm.sh

sourceはスクリプトファイルを実行するためのコマンドですね!!

でもなんで、sh じゃなくてsourceを使うのかがよくわからないんですが、、違うんですか??

まじこのあたり弱い…orz
だれか教えて…orz


…で、nvmを使えるようになりました。


いよいよ念願のnvm経由でのnode.jsのインストール!!
とりあえず0.10.0が一番新しいくさかったので、いれてみました。(nvmのコマンドはnvm helpで見れるみたい)

nvm install v0.10.0


でも前いれた0.8.21も気になるので、続けてインストールしました。。

nvm install v0.8.21


これは便利!!

nvm ls

v0.8.21	  v0.10.0
current: v0.8.21


と出ました。


どのバージョンを使うかはnvm useで切り替えれるみたいですが、まあここは最新を使っときゃ良いでしょってことで、

nvm alias default 0.10.0


としてdefaultで0.10.0を使うように設定しときました。

nvm ls

v0.8.21	  v0.10.0
current: v0.10.0
default -> v0.10.0


となりましたね。

ちなみにパッケージ管理用のnpmも自動で最新がインストールされるっぽくて

npm -v

1.2.14

と出ました。便利〜


3, ターミナルを閉じるとまたsource~からやらないといけない

ここで問題が浮上。ターミナルを一度閉じるとまた、source ~のところからやらないとnvmが使えないみたいなんですね。


これに関してはこちらの記事に書かれている通り、.zshenvや.bash_profileなどのファイルに登録することで対応することで解決できそうです。

http://creator.cotapon.org/articles/node-js/%E3%80%90node-js%E3%80%91nvm%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7%E3%81%AE%E6%96%B9%E6%B3%95


ちなみにzshbashの違いもよくわからんので、だれかヘルプミーーーー!!ww


今回はzshよりよく聞いたことのあるbashという言葉が入っている.bash_profileに登録することにしましたw

で、

cd ~
ls -a


しても.bash_profileは見当たらない。
どうやら自分で作らないといけないみたい。Macにもともと存在するわけではないらしいですねー


ちなみに.bash_profileと似たものでbashrcというものもあるみたいで、この違いは


http://dqn.sakusakutto.jp/2012/08/bash_profile_bashrc.html


こちらの記事に書かれておりました。勉強になります!!


で、結局以下のようにして、.bash_profileを作成しました。

cd ~
vim .bash_profile


export PATH="/usr/local/bin:$PATH:/usr/local/sbin"

# nvm
if [[ -s /Users/ほーむでぃれくとり/.nvm/nvm.sh ]] ; then source /Users/ほーむでぃれくとり/.nvm/nvm.sh ; fi


if文はfiで閉じないといけないんですねー


これでターミナルを再起動してみたところ、ちゃんとnvmが使えるようになっていました!!ふう。


Node.jsは日々進化するものなので、やはり今回導入したnvmで管理しながら迅速にキャッチアップしていかないとですね!!

あとbashあたりがぐだぐだで全然わからなかったので、また勉強が必要です…新たな弱点が見つかったのも良かったです。。
がんばろー


小さな事からコツコツと。