Macで「zsh: command not found: node」が出る原因と解決策【nvm設定ミスに注意】

MacでNode.jsを使用していると、特にZshシェルを利用している場合に「zsh: command not found: node」というエラーに直面することがあります。このエラーは、Node.jsが正しくインストールされていないか、シェルがNode.jsの実行ファイルを見つけられないことを示しています。

zsh: command not found: node

本記事では、このエラーの原因と解決策について詳しく解説します。

1. エラーの原因

「zsh: command not found: node」というエラーは、主に以下の理由で発生します。

  • Node.jsがインストールされていない
    • 最も基本的な原因は、Node.jsがそもそもインストールされていないことです。Node Version Manager(nvm)を使用してNode.jsをインストールすることが一般的ですが、インストールが正しく行われていない場合、このエラーが発生します。
  • PATH環境変数の設定ミス
    • Node.jsがインストールされていても、シェルがその実行ファイルの場所を認識できない場合、エラーが発生します。これは、PATH環境変数にNode.jsのインストールパスが含まれていないことが原因です。
  • nvmの設定ミス
    • nvmを使用してNode.jsを管理している場合、nvmが正しく設定されていないと、Node.jsのコマンドが認識されないことがあります。
      特に、シェルの初期化ファイル(.zshrcなど)にnvmの設定が含まれていない場合、エラーが発生します。

これらの原因を理解することで、エラーの解決に向けた具体的なアプローチを考えることができます。

2. Node.jsのインストール確認

まず、Node.jsが正しくインストールされているか確認する必要があります。以下の手順で確認できます。

  1. ターミナルを開き、次のコマンドを実行します。
    • nvm ls
    • このコマンドは、nvmで管理されているNode.jsのバージョンをリスト表示します。もし何も表示されない場合、Node.jsがインストールされていないか、nvmが正しく機能していない可能性があります。
  2. Node.jsがインストールされていない場合、次のコマンドで最新のNode.jsをインストールします。
    • nvm install node
    • インストールが完了したら、node -v でバージョンを確認します。 これでNode.jsのバージョンが表示されれば、インストールは成功しています。

3. PATH環境変数の設定

Node.jsがインストールされているにもかかわらず「command not found」エラーが発生する場合、PATH環境変数が正しく設定されていない可能性があります。

以下の手順で設定を確認し、修正します。

  1. ターミナルで次のコマンドを実行して、現在のPATHを確認します。
    • echo $PATH
    • 出力結果にNode.jsのインストールパス(通常は~/.nvm/versions/node/vX.X.X/binの形式)が含まれているか確認します。
  2. もし含まれていない場合、次の行を~/.zshrcファイルに追加します。
    • export PATH="$HOME/.nvm/versions/node/$(nvm version)/bin:$PATH"
    • これにより、nvmでインストールされたNode.jsのパスがPATHに追加されます。
  3. 変更を反映させるために、次のコマンドを実行します。
    • source ~/.zshrc
    • これで、Node.jsのコマンドが正しく認識されるようになります。

4. nvmの設定確認

nvmが正しく設定されているか確認することも重要です。以下の手順で確認できます。

  1. ~/.zshrcファイルを開き、nvmの設定が含まれているか確認します。以下の行が含まれている必要があります。
    • export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
  2. これにより、nvmがシェルに読み込まれ、Node.jsのコマンドが使用可能になります。
  3. 設定がない場合は、上記の行を~/.zshrcに追加し、ファイルを保存します。
  4. 変更を反映させるために、再度次のコマンドを実行します。
    • source ~/.zshrc
    • これでnvmが正しく設定され、Node.jsのコマンドが認識されるようになります。

5. シェルの再起動

設定を変更した後、シェルを再起動することも重要です。ターミナルを完全に閉じて再度開くことで、すべての設定が正しく反映されます。

これにより、環境変数やnvmの設定が適用され、Node.jsのコマンドが正しく動作するようになります。

6. まとめ

「zsh: command not found: node」というエラーは、Node.jsがインストールされていないか、PATH環境変数やnvmの設定に問題がある場合に発生します。まずはNode.jsが正しくインストールされているか確認し、次にPATH環境変数やnvmの設定を見直すことが重要です。

これらの手順を踏むことで、エラーを解消し、Node.jsをスムーズに使用できるようになります。

参考

タイトルとURLをコピーしました