log > 今日の失敗ログ(node & npm)

今日の失敗ログ(node & npm)

Nodeをv4.4.2にしようと思った。

  • brew info nodeで確認すると5.0.0が入る。
  • brew versions nodeで調べるがversionsコマンド削除されてたのでbrew tap homebrew/versionsで入れる
  • brew search nodeで調べて、brew install node4-ltsで入れる
  • 競合してるっぽくて入らないのでbrew unlink nodeで外す
  • 再度、brew install node4-ltsを行い、無事にNode.jsがv4.4.2になる。
  • npmのpathがNode4内部(/usr/local/Cellar/node4-lts/4.2.2/lib/node_modules)に切り替わったのでグローバルインストールしたモジュールが使用不可になる。
  • curl https://www.npmjs.com/install.sh | shで再度入れ直すも、versionはv2.1.9のまま。

npm --versionを実行すると2.1.9が返ってくるが、Node v4.2.2の内部にはnpm@3.3.12が入っている。そして、npm ls -gだとNode v4内部の情報が表示されるし、npm install -g yoすると4.2.2に入る。

わけがわからなくなったので再インストールしようとアンインストールを試みた。homebrewはやめて、nodebrewで入れることにした。

  • sudo npm uninstall -g npmでも、なぜか2系が残るので、rm -rf /usr/local/bin/npmを実行。
  • brew uninstall nodenode 0.10.26がuninstallされ、node -vで4.2.2が表示されたので、brew uninstall node4-lts

その後は、hokaccha/nodebrewのREADMEに従ってnodebrewを入れてパスを通し、nodebrew install v4.2.2nodebrew use v4.2.2でnodeを使えるようにした。

また、npmはnodeについてきたので、sudo npm install -g npmでnpmをv3にアップデートできた。よかった。nodebrewすごい便利。

ただ、前にnpmでグローバルインストールしたライブラリは、再インストールし直しっぽい。(ログはあるし、あまり使ってなかったのがほとんどなので別に困ってない。)使ってないものを整理する機会だと思って、次に使うことになったらインストールしよう。


npmがnodebrewの管理するNode.js内部にインストールされてるっぽいけど、nodeのバージョン切り替えるとどうなるんだろう。予想は切り替えでnode_modules再インストールし直しだけど。