Nodes_modules软件包重复

时间:2018-07-13 14:11:08

标签: node.js npm node-modules

我正在使用npm为我的应用程序安装几个软件包。

所以我得到了一个包含所有软件包的node_modules。但是,一些软件包本身包含一些node_modules,而这些node_modules也包含其他软件包...

我的问题是,程序包可能在多个node_modules中重复,所以我正在寻找解决方案以删除重复项。

这是我尝试过的:

  • npm重复数据删除:它不能解决我的问题,重复项仍然存在
  • flatten-packages:这解决了重复问题,但是我的应用停止运行,因为它说这些软件包没有找到所需的依赖项。...

我正在使用npm 6.1.0

这是我的依赖项和devDependencies的示例

"dependencies": {
    "axios": "^0.17.0",
    "cpx": "^1.5.0",
    "lodash": "^4.17.5",
    "node-sass-chokidar": "0.0.3",
    "npm-run-all": "4.1.1",
    "object-mapper": "^5.0.0",
    "prop-types": "^15.6.0",
    "react": "^16.2.0",
    "react-intl": "^2.4.0",
    "react-number-format": "^3.3.1",
    "react-promise": "^2.0.1",
    "react-redux": "^5.0.7",
    "redux": "^3.7.2",
  },
  "devDependencies": {
    "eslint": "^4.18.2",
    "eslint-plugin-react": "^7.7.0",
    "jest": "^22.4.4"
  }

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

同一软件包可能有不同版本。
如果依赖项“ A”需要依赖项“ B”且版本指定为“ ^ 1.0.0”
另一个依赖项“ C”需要依赖项“ B”,但版本指定为“ ^ 2.0.0”

程序包管理器可以在另一个程序包的node_modules中放置较少使用的版本。 这是设计使然。