✍️
nodebrewでnodeのversionを切り替えた際にnodeだけ変更されない問題
問題
nodebrewでnodeをinstallしていてnodebrewのversionを変更したのに使用しているnodeのversionは変更されていない時の対処法
現象
nodebrew install-binary v16.14.0
Fetching: https://nodejs.org/dist/v16.14.0/node-v16.14.0-darwin-x64.tar.gz
######################################################################################################################## 100.0%
Installed successfully
terminal入力値:nodebrew use v16.14.0
terminal入力値:nodebrew list
terminal結果:
current: v16.14.0
terminal入力値:node -v
terminal結果:v16.13.2
😇こんな感じになりますよね。
原因
シェルのパスの設定が原因となることが大体だと思います。
nodebrewでインストールしたNode.jsの実行ファイルのパスがPATHの
環境変数よりも優先されていない可能性があるみたいなのでそれが原因っぽい。
解決
まず自分の環境のnodeのPATHがどこにあるのかを確認してください
which node
結果:/usr/local/bin/node
グローバルでインストールしてたら大体これ☝️
このPATHでも問題はないけどvscodeとかだとversion切り替えれない
terminal入力値:vim ~/.bashrc(bashを利用してる場合だけ、zshとか違う名前ね)
export PATH="$HOME/.nodebrew/current/bin:$PATH"
ファイルに書き込む☝️
terminal入力値:source ~/.bashrc
これでnodebrewでversionを変更するとnodeも変更されてる
ちょこっと解説
export PATH="
☝️なんか書体かっこいいw
このPATHの書き方はnodebrewでインストールしたnode.jsの実行ファイルが、
デフォルトのパスよりも優先されるように設定されるらしいです。
nodebrewをuninstallして解決みたいな記事をよく見るけど
なんかそれは個人的に嫌かも。。。。。。
めでたし
Discussion