問題点Node Version Managerのインストールスクリプトをcurlまたはwgetで実行し終えたところだとします。すべて順調に見えましたが、新しいターミナルウィンドウを開くか、Macを再起動した瞬間、次のようなイライラするメッセージが表示されます。
zsh: command not found: nvm
古いMac(2019年以前)を使用している場合は、代わりにbash: nvm: command not foundと表示されるかもしれません。これは、シェルがnvmの場所をまだ認識していないために起こります。
60秒でできる修正方法現在、ほとんどのMacではZshがデフォルトのシェルとして使用されています。インストーラーが設定を自動的に更新しなかった場合は、次の4つのステップで手動で行うことができます。
- ターミナルを開き、
nano ~/.zshrcと入力します。- 一番下までスクロールし、次の3行を貼り付けます。export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # nvmを読み込む [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # nvmのbash_completionを読み込む- Ctrl + Oを押し、次にEnterを押して保存します。Ctrl + Xを押してエディタを終了します。- 変更をすぐに適用します:source ~/.zshrc## 何が原因だったのか?舞台裏では、nvmはChromeやSlackのような独立したプログラムではありません。これはシェル関数です。動作させるには、ターミナルが起動するたびに「ソース(読み込み)」される必要があります。インストーラーは通常、プロファイルに読み込みコードを追加しようとしますが、いくつかの理由で失敗することがよくあります。 - 設定ファイルの欠如: macOSのクリーンインストール直後では、
.zshrcファイルが存在しないことがよくあります。ファイルがない場合、インストーラーは書き込みを諦めてしまいます。- Zshへの切り替え: macOS Catalina (10.15) 以降、AppleはBashからZshに切り替えました。多くの古いチュートリアルでは依然として.bash_profileを案内していますが、Zshはこれを無視します。- 書き込み権限: 新しいmacOSバージョン(Sonoma 14.0など)のセキュリティ設定により、スクリプトがホームディレクトリを変更するのをブロックすることがあります。## 環境ごとの詳細な解決策### 方法1:最新のmacOS(Zsh)の場合echo $SHELLを実行してください。出力が/bin/zshであれば、以下の手順に従って設定を永続化させます。 - ファイルが存在するか確認します:
ls -a ~ | grep .zshrc- 何も出力されない場合は、作成します:touch ~/.zshrc- ファイルを開きます:open -e ~/.zshrc。人によってはnanoよりもテキストエディットの方が使いやすいかもしれません。- ドキュメントの最後にNVMの初期化コードを貼り付けます。- 保存してターミナルを再起動します。### 方法2:以前のmacOS(Bash)の場合シェルが/bin/bashの場合も手順は同じですが、ファイル名が変わります。代わりに~/.bash_profileまたは~/.profileを編集する必要があります。保存後、source ~/.bash_profileを使用して設定を更新してください。
方法3:Homebrewを使用している場合brew install nvmを使用しましたか?NVMの作成者は公式にHomebrewの使用を推奨していませんが、Macユーザーの間では依然として人気のある選択肢です。この方法を選んだ場合、標準のパスは機能しません。代わりに以下の特定のブロックを.zshrcに追加してください。
export NVM_DIR="$HOME/.nvm"
mkdir -p $NVM_DIR
[ -s "$(brew --prefix)/opt/nvm/nvm.sh" ] && \. "$(brew --prefix)/opt/nvm/nvm.sh"
[ -s "$(brew --prefix)/opt/nvm/etc/bash_completion.d/nvm" ] && \. "$(brew --prefix)/opt/nvm/etc/bash_completion.d/nvm"
修正の確認動いていると思い込まずに、テストしましょう。次のコマンドを実行してください。
command -v nvm
設定が正しければ、ターミナルは単にnvmという単語を返します。何も返されない場合は、ファイルパスを再確認してください。また、nvm --versionを試すこともできます。2023年後半の時点では、0.39.5以上のバージョンが表示されるはずです。

