環境構築からWEBアプリ開発・スマホアプリ開発まで。ときには動画制作やゲームも。

supilog
すぴろぐ

nodebrew install-binaryでエラーが出る(Failure writing output to destination)

エラー内容

$ nodebrew install-binary v23.8.0
Fetching: https://nodejs.org/dist/v23.8.0/node-v23.8.0-darwin-arm64.tar.gz
Warning: Failed to open the file                                                                                                                         
Warning: /Users/supilog/.nodebrew/src/v23.8.0/node-v23.8.0-darwin-arm64.tar.gz: 
Warning: No such file or directory
curl: (56) Failure writing output to destination, passed 1360 returned 4294967295

download failed: https://nodejs.org/dist/v23.8.0/node-v23.8.0-darwin-arm64.tar.gz

どうやらディレクトリが存在しないせいで、ファイルのダウンロードに失敗しているエラーのようである。

解決手順

ディレクトリを作成してあげた

$ mkdir -p ~/.nodebrew/src

これにより、無事にインストールできるようになりました。めでたしめでたし。

おまけ

昔のNodeが邪魔してた

Nodebrewがインストール済みだったので、てっきりNodeもNodebrew経由でインストールしたものだと思っていたんです。はい。

どうやら違ったみたい。

$ which node
/usr/local/bin/node

Nodebrew経由でインストールしたら、↓これになるようだ
/Users/supilog/.nodebrew/current/bin/node

どうやってインストールしたものかは、正直覚えていない。

すでに入っていたnodeを削除した

# バージョン確認
$ node -v
v18.12.1

# 確認
$ ls -la /usr/local/bin/
-rwxr-xr-x   1 root  wheel  169430160 11  5  2022 node.backup
lrwxr-xr-x   1 root  wheel         38 12 21  2022 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxr-xr-x   1 root  wheel         38 12 21  2022 npx -> ../lib/node_modules/npm/bin/npx-cli.js

# node削除
$ sudo rm /usr/local/bin/node

# npmのシムリンク削除
$ sudo unlink /usr/local/bin/npm
$ sudo unlink /usr/local/bin/npx

ついでに、Nodebrew用のパスをちゃんと通してあげる(.zshrcや.zshenv)

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

最後に確認。

$ which node
/Users/supilog/.nodebrew/current/bin/node
$ which npm
/Users/supilog/.nodebrew/current/bin/npm