MeWrite Docs

npm ERR! Missing script: "start"

npmでスクリプトが見つからない場合のエラー

概要

npm ERR! Missing script は、package.jsonに定義されていないスクリプトを実行しようとした場合に発生するエラーです。

エラーメッセージ

npm ERR! Missing script: "start"
npm ERR!
npm ERR! Did you mean one of these?
npm ERR!     npm star # Mark your favorite packages
npm ERR!     npm stars # View packages marked as favorites
npm ERR! Missing script: "dev"
npm ERR!
npm ERR! To see a list of scripts, run:
npm ERR!   npm run

原因

1. package.jsonにスクリプトが未定義

1
2
3
4
5
6
{
  "name": "my-app",
  "scripts": {
    "build": "webpack"
  }
}
1
2
# "start" は定義されていない
npm start  # Error: Missing script: "start"

2. スクリプト名のタイプミス

1
2
# package.jsonには "dev" だが...
npm run development  # Error: Missing script: "development"

3. 間違ったディレクトリで実行

1
2
3
# package.jsonがないディレクトリで実行
cd /wrong/directory
npm start  # Error

解決策

1. スクリプトを追加

1
2
3
4
5
6
7
8
9
{
  "name": "my-app",
  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js",
    "build": "webpack",
    "test": "jest"
  }
}

2. 利用可能なスクリプトを確認

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 定義されているスクリプト一覧
npm run

# 出力例:
# Lifecycle scripts included in my-app:
#   start
#     node index.js
#   test
#     jest
#
# available via `npm run-script`:
#   dev
#     nodemon index.js
#   build
#     webpack

3. 正しいスクリプト名で実行

1
2
3
4
5
# package.jsonを確認して正しい名前で実行
cat package.json | grep -A 20 '"scripts"'

# 正しい名前で実行
npm run dev

4. package.jsonの場所を確認

1
2
3
4
5
6
# 現在のディレクトリにpackage.jsonがあるか確認
ls package.json

# なければ正しいディレクトリに移動
cd /path/to/project
npm start

フレームワーク別のスクリプト例

React (Create React App)

1
2
3
4
5
6
7
8
{
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  }
}

Next.js

1
2
3
4
5
6
7
8
{
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  }
}

Express

1
2
3
4
5
6
{
  "scripts": {
    "start": "node server.js",
    "dev": "nodemon server.js"
  }
}

Vue CLI

1
2
3
4
5
6
7
{
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  }
}

npm start vs npm run start

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# npm start は npm run start のエイリアス
npm start
npm run start  # 同じ

# その他のスクリプトは npm run が必要
npm run dev
npm run build

# 特別なエイリアスがあるスクリプト
npm start   # = npm run start
npm test    # = npm run test
npm stop    # = npm run stop
npm restart # = npm run restart

デバッグ

1
2
3
4
5
6
7
8
# 詳細なログを表示
npm run start --loglevel verbose

# package.jsonの構文エラーをチェック
npm pkg get scripts

# JSON構文を検証
npx jsonlint package.json

pre/postスクリプト

1
2
3
4
5
6
7
8
9
{
  "scripts": {
    "prebuild": "rm -rf dist",
    "build": "webpack",
    "postbuild": "echo 'Build complete!'",
    "pretest": "npm run lint",
    "test": "jest"
  }
}
1
2
3
4
# npm run build を実行すると:
# 1. prebuild が実行される
# 2. build が実行される
# 3. postbuild が実行される

関連エラー

関連エラー

Node.js の他のエラー

最終更新: 2025-12-24