ゲームエンジニアの雑記ブログ

ゲームエンジニアの雑記ブログ。テーマ自由、技術について解説します

複数のNode.jsをNodebrewでカンタンに管理しよう!

複数のNode.jsをNodebrewでカンタンに管理しよう!

こんにちは、エンジニアのオオバです。

→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら

まず結論から

  • Node.jsのバージョンをNodeBrewで管理
  • $ brew install nodebrewでNodebrewのインストール
  • $ nodebrew lsでインストール済みNode.jsバージョンのリストアップ
  • $ nodebrew install-binary バージョン名でインストール
  • $ nodebrew use バージョン名で使用
  • 初めて使うときは$ nodebrew setupとNodebrewのパスを通す

経緯

npm install -g phantomjs  

PhantomJSをインストールしようと上記コマンドを実行しようとしたら、
nodeのバージョンが低くて下記のエラーが発生しました。

ERROR: npm is known not to run on Node.js v0.10.33  
You'll need to upgrade to a newer version in order to use this  
version of npm. Supported versions are 4, 6, 7, 8. You can find the  
latest version at https://nodejs.org/  

npmがNode.jsのバージョン4から対応しているということで、Node.jsアップグレードをしました。

今までNode.jsのインストールはHomebrewで実行していたのですが、Node.js自体のバージョン管理のしやすさからNodebrewを使ってみたく導入を進めました。

まずは下記コマンドでHomebrew経由でインストールしたNode.jsをアンインストールします。

brew uninstall --force node  

※複数バージョンインストールされている場合は--forceを付けないと全てを消し去ることが出来ません

1.NodebrewをHomebrewでインストール

brew install nodebrew  

2.Nodebrewで最新安定版Node.jsインストール

nodebrew install-binary stable  

ここまで順調かに見えましたが、こんなエラーが表示されてインストールできませんでした。

Fetching: https://nodejs.org/dist/v9.0.0/node-v9.0.0-darwin-x64.tar.gz  
Warning: Failed to create the file  
Warning: /Users/ユーザーネーム/.nodebrew/src/v9.0.0/node-v9.0.0-darwin-x64.tar.gz: No  
Warning: such file or directory  

一度nodebrewのgithubページを確認します。

GitHub - hokaccha/nodebrew: Node.js version manager

公式ではcurlでインストールされているため、Homebrewでのインストールは諦め、curlを採用しました。

3.Homebrew経由のnodebrewをアンインストール

brew uninstall nodebrew  

4.curlコマンドでnodebrewをインストール

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

.bashrcまたは.bash_profileに下記を記述します。
これは、NodebrewでインストールしたNode.jsのパスを通す作業です。

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

5.再びNode.jsのインストール

nodebrew install-binary stable  

無事にインストールは成功しました。

nodebrew use stable  

コチラのuseコマンドで使用するNode.jsのバージョンを指定します。
これで複数バージョンを切り替えることも簡単です。

追記_2017.11.8

Homebrewでインストールしても正しく動くことを確認しました。

brew install nodebrew  

これを実行した後、nodebrew setupをしないといけません。
何が行われているかというと、インストールするNode.jsファイルの受け皿ディレクトリ群$HOME/.nodebrewを生成しています。
このディレクトリが存在しなかったため、先のエラーが起きているということでした。

参考

オススメ記事