できない.dev

nvm をインストールしたのに nvm コマンドが認識されない

nvm のインストーラを叩いた後に `nvm: command not found` になるのは、`~/.bashrc` や `~/.zshrc` への source 行追記が反映されていない/別シェルを使っている/Windows 用 nvm-windows のパス未反映が原因。

#nvm#shell#install#profile

公開:

要約

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 内ターミナル等でも動きます。

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