当我试图用npm start命令调试我的节点应用程序时,我收到了这个错误。

Error:
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
From the debug file:
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)

当前回答

看起来您可能没有在包中定义开始脚本。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

其他回答

我已经解决了我的问题。这不是一个NPM错误,它与代理行为有关。

如果你不支持代理,

MAC
 1.  Goto System Preference (gears icon on your mac)
 2.  click your network
 3.  click advanced
 4.  click proxy
 5.  check excludes simple hostnames
 6.  add this line below (Bypass Proxy Settings...) "localhost, localhost:8080"

refer to the npm echo: "Project is running at http://localhost:8080/"

Windows
 1.  Goto your browser Proxy Settings (google it)
 2.  check Bypass local address
 3.  add this line below "localhost, localhost:8080"

对于我的例子,我在“First”文件夹中创建了React项目,我在这个文件夹中运行项目,所以我看到了同样的错误。你应该进入项目,然后你应该运行(为我的例子“反应电影”)。如果你看我的屏幕,你可以很容易地发现。

希望能帮到别人。 如果没有从项目的根目录打开项目,也会发生此错误。在VS code中打开之前,请确保cd到文件夹中。

在我的例子中,如果它是一个react项目,你可以尝试升级npm,然后升级react-cli

npm -g install npm@version
npm install -g create-react-app

确保端口是打开的

var app = express();
app.set('port', (process.env.PORT || 5000));

诸如此类,最后你得到了这个

app.listen(app.get('port'), function() {
    console.log("Node app is running at localhost:" + app.get('port'))
});

在node js中仍然是一个新手,但这导致了更多的这种情况。