nodenvでnodeのバージョンを管理している際に、
正しくnodeバージョンを変更できないことがあった為、トラブルシュートメモです。
同じ現象でお困りの方は参考に頂ければと思います。
解決したい現象
nodenv versionsでインストール済みのnodeバージョンを、
nodenv local バージョン数 のコマンドで設定しても、
nodeバージョンが反映されない。(.node-versionには反映されている)
違うバージョンとして実行される。
.node-version内容
※2024/8/4追記
nodenvを初回インストールして、nodenv local xx.yy.zzを実行しても反映されませんでしたが、
その場合もこちらの方法で反映されるようになりました。
原因調査
nodeの実体がどこか確認します。
nodeの実体が別をみている。
nodenvのnodeが動いている場合、.nodenvの実体パスが表示されるはずです。
昔にnodenv以外でnodeをインストールしていたせいで、
そちらが効いてしまっているのかもしれません。
この状況の場合、以降の対処方法で改善します。
※初回インストールなどで、which nodeで、None(なし)などが表示されても改善されます。
対処法
./bashrcなど、Shellの設定にnodenvを追加します。
※bashはbashrc、zshはzshenvやzshrcなど
nodenvを効かせたいディレクトリの場所で、設定ファイルを作成し以下の内容で保存します。
export PATH="$HOME/.nodenv/bin:$PATH"
eval "$(nodenv init -)"
その後、sourceコマンドで設定を反映します。
source ./bashrc
最後に、node -v できちんと.node-versionのバージョンに反映されていることを確認します。