起こったこと
Next.jsのプロジェクトを作成したので「npm run dev」をしたところ、「You are using Node.js 16.16.0. For Next.js, Node.js version >= v18.17.0 is required.」が表示された。
※その時のバージョンは16.16.0を使用していました
Node.jsのバージョンをv18〜にするため、nvmで「nvm install v18.17.0」を実施し、「Now using node v18.17.0 (npm v9.6.7)」と表示された。
でも「node -v」をすると「v16.16.0」(過去にインストールしたバージョン)が表示され、更新されない。
「nvm use」や「nvm allas default」をしても変更されない。
結論
別のNodeJSのバージョン管理ツール「nodebrew」と競合していた。
対処
設定ファイル「.zshrc」を開いて、nodebrewに関するパスをコメントアウトし、再読み込みした。
手順(自分の場合)
vscodeを使用しているので、以下で編集
% code ~/.zshrc
export PATH=/opt/homebrew/var/nodebrew/current/bin:$PATH
上記の行頭に#をつけてコメントアウトして保存。
% source ~/.zshrc
上記を実行して設定を読み込み。
% node -v
v18.17.0
これで問題なくバージョンアップできました。
さいごに
なぜこうなったのかは覚えていません。
おそらく昔によく分からずnodebrewを使用してそのままなんでしょう。
絶対問題がない方法かは分かりかねますので、もし参考にされる場合は自己責任でお願いします。
ちなみに解決に至るまでの調査はChatGPT(GPT4)に聞きまくりました。
初心者にとってはAI様様です。
理解を深めながらAIは今後も活用していこうと思います。