先日、nodebrewでnodeをアップデートしようとしたところ、以下のようなエラーが発生しました。
$ nodebrew install-binary stable
v12.10.0 is not found
Can not fetch: https://nodejs.org/dist/v12.10.0/node-v12.10.0-darwin-x64.tar.gz
どうやらnodebrewの更新が必要なことは分かったのですが、nodebrewの更新は始めてだったので、少し手間取ってしまいました。
nodebrewにはいつもお世話になっているので、今後もアップデートの機会は多くあるでしょう。
その度に手間取るのも嫌なので、今回対処した手順を記事にして残しておこうと思います。
私の他にも困っている方がいるかもしれませんので、そのような方の手助けにもなればいいなと思います。
そんなわけで、今回は「nodebrew install-binary」がnot found
で失敗した場合の対応方法についてご紹介しますね。
ちなみに、nodebrewはhomebrew経由でインストールしています。
PCはMacBook Pro(Mojave)です。
nodebrewをアップデートする手順
まずは焦らずにhomebrewのアップデートをしましょう。
$ brew update
次にnodebrewをアップデートします。
$ brew upgrade nodebrew
Error: The following directories are not writable by your user:
/usr/local/lib
You should change the ownership of these directories to your user.
sudo chown -R $(whoami) /usr/local/lib
And make sure that your user has write permission.
chmod u+w /usr/local/lib
謎のエラーが表示されました。
どうやら書き込み権限不足で怒られたみたいです。
それでは、sudoコマンドで書き込み権限を追加しましょう。
$ sudo chown -R $(whoami) /usr/local/lib
$ chmod u+w /usr/local/lib
そうしたら、今度こそnodebrewを更新しましょう。
$ brew upgrade nodebrew
==> Upgrading 1 outdated package:
nodebrew 0.9.6 -> 1.0.1
==> Upgrading nodebrew
==> Downloading https://github.com/hokaccha/nodebrew/archive/v1.0.1.tar.gz
==> Downloading from https://codeload.github.com/hokaccha/nodebrew/tar.gz/v1.0.1
################################################################## 100.0%
==> Caveats
You need to manually run setup_dirs to create directories required by nodebrew:
/usr/local/opt/nodebrew/bin/nodebrew setup_dirs
Add path:
export PATH=$HOME/.nodebrew/current/bin:$PATH
To use Homebrew's directories rather than ~/.nodebrew add to your profile:
export NODEBREW_ROOT=/usr/local/var/nodebrew
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completions have been installed to:
/usr/local/share/zsh/site-functions
==> Summary
🍺 /usr/local/Cellar/nodebrew/1.0.1: 8 files, 38.6KB, built in 6 seconds
==> brew cleanup has not been run in 30 days, running now…
Removing: /usr/local/Cellar/nodebrew/0.9.6… (8 files, 37.8KB)
Removing: /Users/{ユーザー名}/Library/Logs/Homebrew/kotlin… (102B)
Pruned 7 symbolic links from /usr/local
これで、無事にnodebrewのアップデートに成功しました。
最新のnode安定版を取得する
それでは、もう一度nodeの安定版を取得してみましょう。
$ nodebrew install-binary stable
Fetching: https://nodejs.org/dist/v12.10.0/node-v12.10.0-darwin-x64.tar.gz
################################################################## 100.0%
Installed successfully
うまくいきましたね。
ちなみに、バージョンを指定してインストールしたい場合は、以下のように末尾にv◯.◯.◯
というように加えればOKです。
$ nodebrew install-binary v10.16.3
Fetching: https://nodejs.org/dist/v10.16.3/node-v10.16.3-darwin-x64.tar.gz
################################################################## 100.0%
Installed successfully
それでは、インストール済みのリストを見てみましょう。
$ nodebrew list
v7.2.0
v8.11.1
v10.16.3
v12.10.0
current: v8.11.1
使うバージョンを切り替えてみます。
$ nodebrew use v10.16.3
use v10.16.3
これでnodeのバージョンが切り替わったはずです。
確認してみましょう。
$ nodebrew list
v7.2.0
v8.11.1
v10.16.3
v12.10.0
current: v10.16.3
current
の部分が変わっていますね。
これでようやくnodeのアップデートが完了しました。
npmもアップデートする場合はnpm update -g npm
でOKです。
以下の記事が参考になりました。ありがとうございます。
参考:nodebrewでnodeのバージョンを切り替える方法
終わりに
今回は「nodebrew install-binary」がnot found
で失敗した場合の対応方法についてご紹介しました。
基本的にはnodebrewをアップデートすればOKですよ。
- homebrewを更新する
- nodebrewを更新する
- 権限エラーが出たら書き込み権限を追加する
今回はここまでです。それでは。