npm install似乎没有获得所有依赖项

Exp*_*lls 7 ubuntu node.js npm

package.json看起来像这样(名称/描述/等省略).

{
    "dependencies": {
        "express": "3.3.4",
        "jade": "0.34.x",
        "mongoose": "3.6.x"
    },
    "devDependencies": {
        "vows": "0.7.x"
    }
}
Run Code Online (Sandbox Code Playgroud)

express在存储库中使用并运行自动生成的node app.js.这工作,但当我使用时,curl http://localhost:port我得到错误"无法找到模块字符解析器." 我跑了npm install character-parser然后我得到了"找不到模块变压器".这种情况发生了几次,但在我安装了所有这些后,应用程序开始工作了.

我认为npm install应该以递归方式安装依赖项.这也让我担心,因为我显然希望在package.json部署应用程序时可以使用它.

小智 -1

当您运行时,npm install <name-of-package>它将将该包安装到您的node_modules文件夹中,但不会将其添加为依赖项。为了安装该包并将其保存为您的依赖项package.json,您必须使用该--save标志,如下所示:

npm install <name-of-package> --save

npm文档提供了有关可以使用的其他标志的更多信息,例如--save-dev用于保存开发依赖项的标志和--save-optional用于将可选依赖项保存到package.json.