✍️

nodebrewでnodeのversionを切り替えた際にnodeだけ変更されない問題

2023/07/21に公開

問題

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="HOME/.nodebrew/current/bin:PATH"
☝️なんか書体かっこいいw

このPATHの書き方はnodebrewでインストールしたnode.jsの実行ファイルが、
デフォルトのパスよりも優先されるように設定されるらしいです。

nodebrewをuninstallして解決みたいな記事をよく見るけど
なんかそれは個人的に嫌かも。。。。。。

めでたし

Discussion