nodebrewのインストールとよくあるエラーの対応
macOS Catalina 10.15.2 に nodebrewとnode v10系最新版(v10.18.1)をインストールした。
brewのインストール
公式サイト https://brew.sh/index_jaを参考にコマンド実行
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
nodebrewのインストール
$ brew install nodebrew
==> Downloading https://github.com/hokaccha/nodebrew/archive/v1.0.1.tar.gz
Already downloaded: /Users/hjkt/Library/Caches/Homebrew/downloads/9895acc38dc859a4a1a841cf2e8cd78b519163d3499cdfcd4a08a068ce0babcd--nodebrew-1.0.1.tar.gz
==> 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 3 seconds
よくあるエラー
ここで気をつけて欲しいのですが、nodebrewのインストール方法を調べるとよく見かけるエラーでこんなものがあります。
$ nodebrew install v10.18.1
Fetching: https://nodejs.org/dist/v10.18.1/node-v10.18.1-darwin-x64.tar.gz
Warning: Failed to create the file
Warning: /usr/local/var/nodebrew/src/v10.18.1/node-v10.18.1-darwin-x64.tar.gz:
Warning: No such file or directory
原因は Failed to create the file
ということなのでファイルのダウンロード失敗。
正しくない解決方法
いろんなサイトで正しくない対処方法が書かれている。
mkdir -p ~/.nodebrew/src
正しい解決方法
解決方法はnodebrewインストールに書かれている
You need to manually run setup_dirs to create directories required by nodebrew:
/usr/local/opt/nodebrew/bin/nodebrew setup_dirs
なので
/usr/local/opt/nodebrew/bin/nodebrew setup_dirs
というコマンドの実行が正解。
インストール可能なnodeバージョン一覧
10系を入れたいのでgrepして出力
$ nodebrew ls-remote | grep v10
v10.0.0 v10.1.0 v10.2.0 v10.2.1 v10.3.0 v10.4.0 v10.4.1 v10.5.0
v10.6.0 v10.7.0 v10.8.0 v10.9.0 v10.10.0 v10.11.0 v10.12.0 v10.13.0
v10.14.0 v10.14.1 v10.14.2 v10.15.0 v10.15.1 v10.15.2 v10.15.3 v10.16.0
v10.16.1 v10.16.2 v10.16.3 v10.17.0 v10.18.0 v10.18.1
nodeのインストール
v10.18.1をインストール
$ nodebrew install-binary v10.18.1
Fetching: https://nodejs.org/dist/v10.18.1/node-v10.18.1-darwin-x64.tar.gz
################################################################################################################################################## 100.0%
Installed successfully
installとinstall-binaryの違い
installはマニュアルインストール用の資材一式をダウンロードしてインストールする。
install-binaryはコンパイル済み資材一式をダウンロードして展開する。
helpを確認すると、installは
Download and install (from binary)
install-binaryは
Alias of
install
(For backword compatibility)
ソースコードを確認すると、
tarballs => {
node => [
"https://nodejs.org/dist/#{version}/node-#{version}.tar.gz",
"https://nodejs.org/dist/node-#{version}.tar.gz",
],
iojs => [
"https://iojs.org/download/#{release}/#{version}/iojs-#{version}.tar.gz",
],
},
tarballs_binary => {
node => [
"https://nodejs.org/dist/#{version}/node-#{version}-#{platform}-#{arch}.tar.gz",
],
iojs => [
"https://iojs.org/download/#{release}/#{version}/iojs-#{version}-#{platform}-#{arch}.tar.gz",
],
},
https://github.com/hokaccha/nodebrew/blob/93411b76355860711331de47f669f38f104b7c19/nodebrew#L943
https://github.com/hokaccha/nodebrew/blob/93411b76355860711331de47f669f38f104b7c19/nodebrew#L952
インストール済みバージョンの確認
% nodebrew ls
v10.18.1
current: none
使用するバージョンを設定
$ nodebrew use v10.18.1
use v10.18.1
$ nodebrew ls
v10.18.1
current: v10.18.1
npmのアップデート
$ npm install -g npm
/usr/local/var/nodebrew/node/v10.18.1/bin/npx -> /usr/local/var/nodebrew/node/v10.18.1/lib/node_modules/npm/bin/npx-cli.js
/usr/local/var/nodebrew/node/v10.18.1/bin/npm -> /usr/local/var/nodebrew/node/v10.18.1/lib/node_modules/npm/bin/npm-cli.js
+ npm@6.13.7
added 7 packages from 3 contributors, removed 3 packages and updated 12 packages in 5.109s
$ npm --version
6.13.7
おしまい