概要
vscodeのターミナルで npm start
コマンドを実行して、ローカルのサーバを起動することがあると思います。
その際、 Missing script: "start" というエラーが出て先に進まない、、、
そんな悩みを解決するために調べた原因と解決法を、共有できればと思います。
いったん先に進めたい人は、試してみてください。
私は2つ目が原因でエラーがでました。
始めたばかりだと見落としがちです。 <-私もその1人
原因
- package.jsonファイルに start コマンドが定義されていない。
- コマンドを実行したときのディレクトリが違う。 <--私はこれが原因でした。。
- 依存関係が正しくインストールされていない。
解決方法
1. package.jsonファイルに以下の定義を追加する。
{ "scripts": { "start": "react-scripts start" } }
<ちょこっと説明>
定義を書くことで、ターミナルで npm start
コマンドを実行可能になる。
通常ターミナルで create-react-app
コマンドを実行すると、Reactプロジェクトのひな型が作成されます。作成されたプロジェクトに package.jsonファイルは自動的に作られ、その中にstartコマンドの定義もされるはずです。
2. ディレクトリを確認する。
vscodeのターミナルで、 npm start
を実行する際のディレクトリを確認しましょう。
npm start
を 実行しているディレクトが、package.jsonが存在するプロジェクトのルートディレクトリである必要があります。
自分が今どこの階層にいるかを確認し、適切な階層に移動してnpm start
コマンドを実行してみてください。
※ルートディレクトリについては、下記のリンクを参考にしてください。
https://26gram.com/directory-meaning
3. 依存関係を再インストールする。
下記のコマンドを実行してする。
npm install
その後npm start
コマンドを実行してみる。
備考
これを書いている私もプログラミングを学習し始めたばかりの初学者です。
解説不足や、誤りがあるかもしれませんが、参考になればと思い書きました。
私と同じうように躓いている人の役に立てれば嬉しいです。