运行 npm start 时启动脚本丢失错误

IT技术 javascript node.js express package.json npm-scripts
2021-01-28 18:41:07

尝试使用该npm start命令调试我的节点应用程序时,我收到此错误

错误:
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3

npm ERR! missing script: start
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\andrmoll.NORTHAMERICA\Documents\GitHub\SVIChallenge\npm-debug.log
从调试文件:
Error: missing script: start
       at run (C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:142:19)
       at C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:58:5
       at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:345:5
       at checkBinReferences_ (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:309:45)
       at final (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:343:3)
       at then (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:113:5)
       at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:300:12
       at evalmachine.<anonymous>:334:14
       at C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\graceful-fs.js:102:5
       at FSReqWrap.oncomplete (evalmachine.<anonymous>:95:15)
6个回答

看起来您可能没有startpackage.json文件中定义脚本,或者您的项目不包含server.js文件。

如果包的根目录中有 server.js 文件,那么 npm 会将启动命令默认为 node server.js。

https://docs.npmjs.com/misc/scripts#default-values

您可以将应用程序脚本的名称更改为server.js或将以下内容添加到您的package.json

"scripts": {
    "start": "node your-script.js"
}

或者......你可以只运行node your-script.js直接

在我的情况下它工作正常.. "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "parcel index.html", "build": "parcel build --public-url .index.html" },
2021-03-14 18:41:07
无需再做任何事情,只需添加 "scripts": { "prestart": "npm install", "start": "http-server -a localhost -p 8000 -c-1" },
2021-03-29 18:41:07
我很难理解,start当你有main什么需要
2021-04-08 18:41:07
@Valmain是您用来require('your-module')module包含在另一个项目中时的入口点- docs.npmjs.com/files/package.json#mainscripts.start是当您键入 .npm 时由 npm 运行的脚本npm start
2021-04-09 18:41:07
不清楚为什么npm init不询问启动脚本。或者至少不用main作启动脚本。
2021-04-09 18:41:07

如果您在 package.json 文件中添加了第二个“脚本”键,也会发生此错误。如果您只在 package.json 中留下一个“脚本”键,错误就会消失。

这个答案可能不是一个确切的答案,但它确实帮助我找到了为什么npm start不起作用。
2021-03-12 18:41:07
这实际上是一个准确的回应。如果您的 package.json 文件包含两个脚本条目,它将选择第二个并忽略您在第一个中记录的任何内容。您将收到问题中的错误消息。
2021-03-30 18:41:07
@Plamen Petkov,你的意思是scripts而不是script(缺少一个s?)
2021-04-07 18:41:07

我第一次安装 react-js 时遇到了这个问题:这些行帮助我解决了这个问题:

npm rm -g create-react-app
npm install -g create-react-app
npx create-react-app my-app

来源:https : //stackoverflow.com/a/59260128/11652661

以上对我有用;请注意,对于像我这样的新用户,命令 npm rm 将删除 create-react-app
2021-03-27 18:41:07

在关闭“}”之前将其添加到 package.json 文件中

,"scripts": {
  "start": "react-scripts start",
  "build": "react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject"
}
我记得@tomsmithweb - 这是我现有的文件。
2021-03-16 18:41:07
index.js 是实际文件吗?或者我们需要创造什么?
2021-04-04 18:41:07

您可能有一个旧的(全局)npm 安装,这会导致问题。截至 12/19,npm 不支持全局安装。

首先,使用以下命令卸载软件包:
npm uninstall -g create-react-app

一些 osx/Linux 用户可能还需要使用以下命令删除旧的 npm:
rm -rf /usr/local/bin/create-react-app

这是现在唯一支持的生成项目的方法:
npx create-react-app my-app

最后你可以运行:
npm start