2014-07-20 38 views

回答

1

我最初回答了这个问题on Quora - 包括了解为何这类问题的SO却不喜欢一个解释 - 但这里的技术部分,如果有人谈到这个问题,一个更普遍的答案:

npm install遍历package.json文件中的依赖项列表,从NPM中获取每个依赖项,然后将其安装在本地。如果该进程出现错误,那么您将缺少一个或多个依赖关系 - 如果您尝试运行node /path/to/node/server/file,则Node和Express将开始寻找可能不存在的依赖关系,因为您的npm install错误。

此外,如果package.json文件具有一个脚本属性告诉节点要使用哪个启动脚本,则只能使用npm start。如果它不在那里,它会回落到node server.js,如果它被称为server.js以外的其他服务器,它将不会启动您的服务器。 (详细信息:node.js express npm start

您应该尝试确认您的package.json是否确实位于第一个“ERR!”文件路径上在运行npm install之后执行。我猜它没有找到该文件,所以它不能安装依赖项,然后你从npm start得到一个错误,因为你没有安装Express的body-parser依赖项,从而阻止它启动你的服务器。