nvm をインストールしたのに nvm コマンドが認識されない
nvm のインストーラを叩いた後に nvm: command not found になるのは、~/.bashrc や ~/.zshrc への source 行追記が反映されていない/別シェルを使っている/Windows 用 nvm-windows のパス未反映が原因。
公開: 更新:
要約
nvm install した直後の同じターミナルで nvm: command not found が出るのは、シェル設定ファイルの再読み込みが行われていないだけのことが多いです。
新しいターミナルを開くか source ~/.zshrc(bash なら ~/.bashrc)を叩けば認識されます。
それでも出ない場合は設定ファイルの追記漏れを疑います。
source ~/.zshrc # zsh
source ~/.bashrc # bashよくある原因
- シェル再起動を忘れている: nvm はインストール時に「現在のセッションを再起動するか source してください」と表示しますが、見落として同じターミナルで叩くと当然認識されません。
- zsh ユーザだが
~/.bashrcしか編集されなかった: 古いドキュメントに従うと~/.bashrcだけ追記されることがある。
zsh は~/.zshrcを読みます。 - Windows の nvm-windows でパスが反映されない: インストーラはシステム環境変数を更新しますが、起動中のターミナルには反映されません。
ターミナルを全て閉じて再度開く必要があります。 - macOS で
~/.zprofileにしか入っていない: ログインシェルでしか source されないため、IDE のターミナル(非ログインシェル)でcommand not foundになる。
解決策
1. シェル設定の確認(Unix 系)
公式 README のスニペット(新しいタブで開く)が ~/.zshrc 等に追記されているか確認します。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"無ければ手動で追記し、source ~/.zshrc で読み直します。
2. Windows: nvm-windows
公式インストーラ(新しいタブで開く)を実行したら、開いている すべての ターミナルを閉じてから新規に起動します。
PowerShell 7 / Windows Terminal / Git Bash で別個に確認するのが確実です。
3. zsh の設定ファイルを統一
~/.zprofile と ~/.zshrc のどちらに書くか迷ったら ~/.zshrc を選ぶと IDE 内ターミナル等でも動きます。
実行例
実際に上記の手順を node:20(Debian GNU/Linux 12 bookworm)環境で試すと、source なしで nvm を呼び出した場合はコマンドが見つからず終了コード 127 が返り、nvm.sh を source してから呼び出すと終了コード 0 で nvm 0.40.1 が正常に応答することが確認できます。
$ ls ~/.nvm/nvm.sh
/root/.nvm/nvm.sh$ nvm --version
bash: line 1: nvm: command not found
終了コード: 127(127 = nvm 関数が読み込まれていない)$ . "$HOME/.nvm/nvm.sh"; nvm --version
0.40.1
終了コード: 0(0 = source すれば nvm 関数が使える)— 2026-08-02 時点の出力