nvmを使ってNode.jsを16.18.1から22.14.0へ更新した【Mac】
目次を見るはじめに
React開発を進める中で、Node.jsのバージョンを確認したところ、16.18.1を使用していた。
$ node -v
v16.18.1
少し古いバージョンだったため、Node.jsの最新LTS版である22.14.0へアップデートした。
nvmをインストールする
Node.jsのバージョン管理には、Node Version Manager(nvm)を使用する。
以下のコマンドを実行してインストールした。
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
インストール完了後、以下のメッセージが表示された。
Close and reopen your terminal to start using nvm
nvmの読み込みでエラーが発生
nvmを有効化するために設定ファイルを読み込もうとしたが、エラーになった。
source ~/.bashrc
bash: ~/.bashrc: No such file or directory
続いて、
source ~/.zshrc
も試したが、こちらも存在しなかった。
bash: ~/.zshrc: No such file or directory
使用しているシェルを確認
まず現在のシェルを確認した。
echo $SHELL
結果は以下の通り。
/bin/bash
bashを使用していることが分かった。
.bash_profileを読み込む
nvmのインストール時に .bash_profile へ設定が追記されていたため、こちらを読み込む。
source ~/.bash_profile
すると別のエラーが表示された。
bash: pyenv: command not found
これはpyenv関連の設定が残っていたことが原因だった。
ただし、nvm自体は利用できる状態だったため、そのまま作業を続けた。
最新のNode.jsバージョンを確認
以下のコマンドで利用可能なNode.jsのバージョンを確認する。
nvm ls-remote
一覧の中に以下が表示された。
v22.14.0 (Latest LTS: Jod)
LTS(Long Term Support)版だったため、このバージョンをインストールすることにした。
Node.js 22.14.0をインストール
nvm install 22.14.0
インストール自体は成功したが、次の警告が表示された。
Your user's .npmrc file (${HOME}/.npmrc)
has a globalconfig and/or a prefix setting,
which are incompatible with nvm.
Run `nvm use --delete-prefix v22.14.0` to unset it.
過去に設定していたnpmのprefix設定がnvmと競合していたようだ。
prefix設定を削除する
表示された案内に従い、以下のコマンドを実行した。
nvm use --delete-prefix v22.14.0
実行結果。
Now using node v22.14.0 (npm v10.9.2)
正常に切り替えが完了した。
バージョン確認
最後にNode.jsのバージョンを確認する。
node -v
結果は以下の通り。
v22.14.0
無事に16.18.1から22.14.0へのアップデートが完了した。
2026.06追記
この記事を書いた当時(2025年3月)は、
source ~/.bashrc
や
source ~/.zshrc
を実行した際に、
No such file or directory
というエラーが発生した。
そのため、
- 使用しているシェルの確認
- .bash_profileの読み込み
- pyenv関連エラーの確認
などを行いながら設定を進めた。
一方で、2026年6月に別のMac環境でnvmを導入した際は、インストール時に自動で .zshrc へ設定が追記された。
=> Appending nvm source string to /Users/hiroki/.zshrc
=> Appending bash_completion source string to /Users/hiroki/.zshrc
また、以下のコマンドも案内された。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"
そのため現在の環境では、当時発生した
- .bashrc が存在しない
- .zshrc が存在しない
といった問題は再現しなかった。
環境やNode.js・nvmのバージョンによって挙動が異なるため、エラーが発生した場合は、まずインストール完了時に表示されるメッセージを確認することをおすすめする。
まとめ
今回の作業では、nvmを導入してNode.jsを最新LTS版へアップデートした。
作業中に発生した問題は次の2点だった。
.bashrcや.zshrcが存在しなかった.npmrcの prefix 設定が nvm と競合していた
特に後者は、
nvm use --delete-prefix v22.14.0
を実行することで解決できた。
今後Node.jsのバージョン管理を行う場合は、nvmを利用すると簡単に切り替えられるためおすすめである。
無事、node.jsのバージョンアップができたようですね