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 node
でnode 0.10.26
がuninstallされ、node -v
で4.2.2が表示されたので、brew uninstall node4-lts
。
その後は、hokaccha/nodebrewのREADMEに従ってnodebrewを入れてパスを通し、nodebrew install v4.2.2
→nodebrew use v4.2.2
でnodeを使えるようにした。
また、npmはnodeについてきたので、sudo npm install -g npm
でnpmをv3にアップデートできた。よかった。nodebrewすごい便利。
ただ、前にnpmでグローバルインストールしたライブラリは、再インストールし直しっぽい。(ログはあるし、あまり使ってなかったのがほとんどなので別に困ってない。)使ってないものを整理する機会だと思って、次に使うことになったらインストールしよう。
npmがnodebrewの管理するNode.js内部にインストールされてるっぽいけど、nodeのバージョン切り替えるとどうなるんだろう。予想は切り替えでnode_modules再インストールし直しだけど。