NPM在依赖包package.json中锁定依赖版本

时间:2017-03-15 19:30:03

标签: node.js npm package.json

所以我有一个应用程序可以引入一些依赖项。我已经想出如何轻松地锁定它们,因此我的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,这导致我们的生产应用程序出现问题。

是否有依赖关系正在使用的依赖项的版本?

1 个答案:

答案 0 :(得分:4)

npm shrinkwrap正是我所寻找和需要的。