Homebrew で nodebrew をインストールしたら少々はまった
MAC OS 10.11 の MAC BOOK PRO にて。
タイトルどおりはまったのでメモ。はまった内容ですが、普通に Homebrew から nodebrew をインストールして、
$ brew install nodebrew
PATH を追加しろとか言ってくるので、その通りに PATH を設定して、さぁ stable版 node を入れようとしたら、次のエラーに遭遇したのでした。
$ nodebrew install stable Fetching: https://nodejs.org/dist/v6.6.0/node-v6.6.0.tar.gz Warning: Failed to create the file Warning: /Users/naoki/.nodebrew/src/v6.6.0/node-v6.6.0.tar.gz: No such file or Warning: directory curl: (23) Failed writing body (0 != 940) download failed: https://nodejs.org/dist/v6.6.0/node-v6.6.0.tar.gz
ちょっと調べてみると、どうやら同じエラーに遭遇した先輩がたくさんいる模様。原因は、 $HOME/.nodebrew が作成されていなかったから? ということで、それ作成してリトライ。
$ mkdir ~/.nodebrew $ nodebrew install stable Fetching: https://nodejs.org/dist/v6.6.0/node-v6.6.0.tar.gz Warning: Failed to create the file Warning: /Users/naoki/.nodebrew/src/v6.6.0/node-v6.6.0.tar.gz: No such file or Warning: directory curl: (23) Failed writing body (0 != 940) download failed: https://nodejs.org/dist/v6.6.0/node-v6.6.0.tar.gz
あらっ?またか。
どうやら $HOME/.nodebrew/src も必要なようです。でも、なんだかこのまま行くと、「あれも」「これも」という感じで、次々に同様の作業を繰り返す気がします。なのでさらに調査してみます。。
すると、今回の正解らしき情報が得られました。それは、わざわざ手でこれらのディレクトリを作るのではなく、コマンド nodebrew setup をたたくということです。
$ nodebrew setup Fetching nodebrew... Installed nodebrew in $HOME/.nodebrew ======================================== Export a path to nodebrew: export PATH=$HOME/.nodebrew/current/bin:$PATH ========================================
これで nodebrew の実行に必要な環境がセットアップできたはずです。
$ ls ~/.nodebrew completions/ current@ default/ iojs/ node/ nodebrew* src/
よさそうですね。再度、node 安定版をインストールしてみます。
$ nodebrew install stable Fetching: https://nodejs.org/dist/v6.6.0/node-v6.6.0.tar.gz ######################################################################## 100.0% creating ./icu_config.gypi ... (省略) ... $ nodebrew use v6.6.0 use v6.6.0 $ nodebrew ls v6.6.0 current: v6.6.0
うまくいきました。done。
【補足】nodebrew は、環境変数 NODEBREW_ROOT で node のインストール先を変更できますが、このときも nodebrew setup を実行すると一発で必要な環境が作成されるので非常に便利。ぜひ覚えておきましょう。