【发布时间】:2017-08-06 17:44:11
【问题描述】:
所以我有一个应用程序可以引入一些依赖项。我已经想出了如何很容易地锁定它们,因此我的 Package.json 看起来像这样:
"webpack": "2.2.1",
太棒了!所以 webpack 被锁定到那个版本,但是我注意到 webpacks package.json 中有一些东西。他们不会锁定他们的依赖关系:
"dependencies": {
"acorn": "^4.0.4",
"acorn-dynamic-import": "^2.0.0",
"ajv": "^4.7.0",
"ajv-keywords": "^1.1.1",
"async": "^2.1.2",
"enhanced-resolve": "^3.0.0",
"interpret": "^1.0.0",
"json-loader": "^0.5.4",
"loader-runner": "^2.3.0",
"loader-utils": "^0.2.16",
"memory-fs": "~0.4.1",
"mkdirp": "~0.5.0",
"node-libs-browser": "^2.0.0",
"source-map": "^0.5.3",
"supports-color": "^3.1.0",
"tapable": "~0.2.5",
"uglify-js": "^2.8.5",
"watchpack": "^1.2.0",
"webpack-sources": "^0.2.0",
"yargs": "^6.0.0"
},
所以前几天我们的应用程序在一个容器上启动并像它应该的那样抓取了 webpack 2.2.1,但抓取了最新的 uglify-js,这导致我们的生产应用程序出现问题。
对于我们的依赖项正在使用的依赖项,是否有强制执行版本?
【问题讨论】:
-
从你的package.json中删除uglify,进入webpack目录查看package.json,看看里面是否有uglify ^2.8.5。我认为它已被覆盖并使用了最新的
标签: node.js npm package.json