渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

Nodebrewを使ってNode.js管理へ移行


f:id:esakun:20171108004906p:plain

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ページを確認します。

公式では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を生成しています。
このディレクトリが存在しなかったため、先のエラーが起きているということでした。

参考