Npm忽略了依赖关系

时间:2018-01-17 04:12:15

标签: node.js npm

我决定将我的项目移动到不同的文件夹中。我没有复制node-modules文件夹。

当我运行npm install时,它什么都没说,什么都没安装。显然,它查看了devDependencies部分,而不是之前使用过的依赖项。

如何从依赖项中安装所有npm?

我的package.json:

{
  "name": "zzz",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.18.2",
    "cookie-parser": "~1.4.3",
    "debug": "~2.6.9",
    "ejs": "~2.5.7",
    "express": "~4.15.5",
    "express-session": "^1.15.6",
    "grunt": "^1.0.1",
    "grunt-contrib-less": "^1.4.1",
    "grunt-exec": "^3.0.0",
    "grunt-link-html": "^0.1.2",
    "moment": "^2.20.1",
    "mongoose": "^5.0.0-rc1",
    "morgan": "~1.9.0",
    "passport": "^0.4.0",
    "passport-local": "^1.0.0",
    "serve-favicon": "~2.4.5"
  }
}

如果我尝试单独安装软件包,它会创建并更新devDependencies部分,而不是预期的依赖项。

找到解决方案。事实证明,如果package.json中的“name”中有空格,NPM将按预期停止工作。一旦我将它们移除,NPM就开始工作了。太令人困惑了!

1 个答案:

答案 0 :(得分:0)

你的json中有"serve-favicon": "~2.4.5"附近的空格形式的拼写错误。更好地使用像VSCODE这样的IDE和像美化这样的扩展来避免不必要的错误。还要求依赖"grunt@~0.4.0"。所以安装它并执行npm install