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の設定が含まれていない場合、エラーが発生します。
- nvmを使用してNode.jsを管理している場合、nvmが正しく設定されていないと、Node.jsのコマンドが認識されないことがあります。
これらの原因を理解することで、エラーの解決に向けた具体的なアプローチを考えることができます。
2. Node.jsのインストール確認
まず、Node.jsが正しくインストールされているか確認する必要があります。以下の手順で確認できます。
- ターミナルを開き、次のコマンドを実行します。
nvm ls
- このコマンドは、nvmで管理されているNode.jsのバージョンをリスト表示します。もし何も表示されない場合、Node.jsがインストールされていないか、nvmが正しく機能していない可能性があります。
- Node.jsがインストールされていない場合、次のコマンドで最新のNode.jsをインストールします。
-
nvm install node
- インストールが完了したら、
node -v
でバージョンを確認します。 これでNode.jsのバージョンが表示されれば、インストールは成功しています。
-
3. PATH環境変数の設定
Node.jsがインストールされているにもかかわらず「command not found」エラーが発生する場合、PATH環境変数が正しく設定されていない可能性があります。
以下の手順で設定を確認し、修正します。
- ターミナルで次のコマンドを実行して、現在のPATHを確認します。
echo $PATH
- 出力結果にNode.jsのインストールパス(通常は
~/.nvm/versions/node/vX.X.X/bin
の形式)が含まれているか確認します。
- もし含まれていない場合、次の行を
~/.zshrc
ファイルに追加します。export PATH="$HOME/.nvm/versions/node/$(nvm version)/bin:$PATH"
- これにより、nvmでインストールされたNode.jsのパスがPATHに追加されます。
- 変更を反映させるために、次のコマンドを実行します。
source ~/.zshrc
- これで、Node.jsのコマンドが正しく認識されるようになります。
4. nvmの設定確認
nvmが正しく設定されているか確認することも重要です。以下の手順で確認できます。
~/.zshrc
ファイルを開き、nvmの設定が含まれているか確認します。以下の行が含まれている必要があります。export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
- これにより、nvmがシェルに読み込まれ、Node.jsのコマンドが使用可能になります。
- 設定がない場合は、上記の行を
~/.zshrc
に追加し、ファイルを保存します。 - 変更を反映させるために、再度次のコマンドを実行します。
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をスムーズに使用できるようになります。