#症状
nvmを利用してnode.jsのインストールを行うと下記のエラーが出る。
$ nvm install stable
mkdir: /alias/lts: Read-only file system
mkdir: /alias/lts: Read-only file system
mkdir: /alias/lts: Read-only file system
Downloading and installing node v14.1.0...
mkdir: /.cache/bin/node-v14.1.0-darwin-x64/files: Read-only file system
Binary download from https://nodejs.org/dist/v14.1.0/node-v14.1.0.tar.xz failed, trying source.
------------中略------------
grep: /.cache/src/node-v14.1.0/node-v14.1.0.tar.xz: No such file or directory
Provided file to checksum does not exist.
#環境
Mac OS Catalina v10.15.4
nvm v0.35.3
#原因
Catalinaの仕様であるシステム整合性保護(SIP)が原因であると思われる。
具体的にはここ。
mkdir: /.cache/bin/node-v14.1.0-darwin-x64/files: Read-only file system
インストール時にルート直下の/.cacheディレクトリを使用しようとしているが、CatalinaではSIPによりルート直下はRead-Onlyとのこと。
SIPを無効にする方法もあるようですが、再起動時にまた有効になるようですね。
これを機にnodebrewに移行しようと思います。
解決法もありそうですが、私はとりあえず諦めました。