Posted at

nvm上でbrewでyarnをインストールしたら


nvm + yarn したらエラー


病状

tmux起動したらこんなメッセージが

nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local"

Run `npm config delete prefix` or `nvm use --delete-prefix v10.13.0 --silent` to unset it.


原因

nvmでnodeのバージョン管理を行っている。

そのため、brewでyarnをインストールする場合は、nodeを除外してインストールしなければならない。

node除外のオプションなしでbrew install yarnをするとdependencyであるnode(npm含め)も一緒にインストールされてしまう。

dependencyでインストールされたnodeだけを強制的にアンインストールしてもインストールするとき生成された/usr/local/bin/npmは削除されない。

nvmで使っているnpmより/usr/local/bin/npmを優先してしまうからあんなメッセージが表示される。


対応

余計なものを削除する。

rm /usr/local/bin/npm

これで解決!

念の為、node除外オプションなしでインストールしたyarnもアンイストールして再インストールします。

nvmを使っている場合、brewでyarnをインストールするときは--without-nodeを付けましょう。

brew rmtree yarn

brew install yarn --without-node