jest: command not foundというエラーは、Jestをコマンドラインから実行しようとしたときに表示されるエラーメッセージです。このエラーが発生すると、Jestテストフレームワークのコマンドが正しく認識されていないことを意味します。この記事では、このエラーの原因とその解決策について詳しく解説します。
#エラーの原因
主な原因には、以下のようなものがあります。
-
Jestがインストールされていない
Jestがプロジェクトにインストールされていない場合、このエラーが発生します。
-
グローバルにインストールされていない
Jestがプロジェクト内の
node_modules
フォルダーにインストールされているが、グローバルにインストールされていない場合に発生します。 -
**
node_modules/.bin
**がパスに含まれていないローカルにインストールされたJestの実行ファイルがシステムのパスに含まれていない場合も、エラーが発生します。
-
**
package.json
**の設定ミスpackage.json
のscripts
セクションにJestコマンドが正しく設定されていない場合にもこのエラーが表示されることがあります。
#解決策
以下の方法でjest: command not foundエラーを解決できます。
1. Jestをインストールする
まずはJestがプロジェクトにインストールされているか確認しましょう。インストールされていない場合は、以下のコマンドでJestをインストールします。
bashコードをコピーする npm install --save-dev jest # または yarn add --dev jest
2. グローバルにJestをインストールする
Jestをグローバルにインストールすることで、どのプロジェクトでもJestコマンドを実行できるようになります。以下のコマンドを実行して、グローバルにJestをインストールします。
bashコードをコピーする npm install -g jest # または yarn global add jest
3. node_modules/.binのパスを確認する
ローカルにインストールされたJestを実行する場合は、node_modules/.bin
ディレクトリがPATHに含まれているか確認します。以下のコマンドで確認できます。
bashコードをコピーする echo $PATH
もし含まれていない場合は、以下のように一時的にPATHを設定できます。
bashコードをコピーする export PATH="./node_modules/.bin:$PATH"
4. package.json の scriptsセクションを確認する
package.json
のscripts
セクションにJestコマンドが設定されているか確認します。以下のように設定されている必要があります。
jsonコードをコピーする "scripts": { "test": "jest" }
npm test
やyarn test
でJestが実行できるようになります。
5. ターミナルを再起動する
Jestをインストールした後、ターミナルを再起動すると、PATHの設定が反映される場合があります。
#まとめ
jest: command not foundエラーは、Jestがインストールされていない、グローバルにインストールされていない、PATHに含まれていない、またはpackage.jsonの設定ミスが原因で発生します。これらの解決策を試すことで、問題を解決しJestのコマンドを使用できるようになるはずです。
もしこれらの方法でも解決しない場合は、Jestの公式ドキュメントや、Node.jsのインストールに問題がないか確認してみてください。