できない.dev

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

よくある原因

  1. シェル再起動を忘れている: nvm はインストール時に「現在のセッションを再起動するか source してください」と表示しますが、見落として同じターミナルで叩くと当然認識されません。
  2. zsh ユーザだが ~/.bashrc しか編集されなかった: 古いドキュメントに従うと ~/.bashrc だけ追記されることがある。
    zsh は ~/.zshrc を読みます。
  3. Windows の nvm-windows でパスが反映されない: インストーラはシステム環境変数を更新しますが、起動中のターミナルには反映されません。
    ターミナルを全て閉じて再度開く必要があります。
  4. 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.shsource してから呼び出すと終了コード 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 時点の出力

この記事は役立ちましたか?