【发布时间】:2013-08-07 13:19:07
【问题描述】:
我的package.json 看起来像这样(名称/描述/等。省略)。
{
"dependencies": {
"express": "3.3.4",
"jade": "0.34.x",
"mongoose": "3.6.x"
},
"devDependencies": {
"vows": "0.7.x"
}
}
我在存储库中使用了express,并运行了自动生成的node app.js。这行得通,但是当我使用 curl http://localhost:port 时,出现错误“找不到模块字符解析器”。我跑了npm install character-parser,然后我得到“找不到模块变压器”。这种情况又发生了几次,但在我安装完所有这些之后,应用程序就开始工作了。
我认为npm install 应该递归安装依赖项。这也让我担心,因为我显然希望 package.json 在部署应用程序时可用。
【问题讨论】:
-
但是 npm 确实递归安装。运行
npm install后,有没有报错?如果有,请发布。 -
@gustavohenke 没有错误,不幸的是。它说一切都很好,但是当我尝试运行节点时,我得到了缺少模块的错误,直到我使用
npm install <module-name>。我可能需要使用sudo npm吗? -
你有 npm-shrinkwrap.json 吗?如果这样做,请检查是否列出了所需的模块。
-
@Fluffy 我遇到了同样的问题,一旦我删除/更新了 npm-shrinkwrap.json,它就会安装 package.json 中定义的所有依赖项。谢谢。
-
@Fluffy 我确认@tamsler 所说的话。检查您的文件夹中是否没有
npm-shrinkwrap.json。