首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确保package-lock.json保留特定版本以满足依赖项的要求

确保package-lock.json保留特定版本以满足依赖项的要求
EN

Stack Overflow用户
提问于 2018-05-28 07:53:45
回答 2查看 790关注 0票数 1

对我们其中一个依赖项的一些更新破坏了我们的构建,并且很难找出问题的原因是什么……

我们最终注意到,@vue/component-compiler-utils需要"prettier": "^1.11.1",并且-正如在vue webpack template missing parser中所讨论的,在回滚到Prettier@1.12.0之前,Prettier@1.13.0会导致我们遇到的问题

我们如何确保package-lock.json“锁定”对某个版本的依赖,并且不会随着时间的推移或重新安装时进行更新?

这是一个生成错误锁文件的package.json示例:

代码语言:javascript
复制
{
  ...
  "dependencies": {
    "html-loader": "0.5.1",
    "vue": "2.5.16",
    "vue-class-component": "6.2.0",
    "vue-property-decorator": "6.1.0",
    "vue-router": "3.0.1",
    "vuex": "3.0.1",
    "vuex-class": "0.3.0",
    ...
  },
  "devDependencies": {
    "@types/jest": "22.0.1",
    "@vue/cli-plugin-babel": "3.0.0-beta.11",
    "@vue/cli-plugin-eslint": "3.0.0-beta.11",
    "@vue/cli-plugin-typescript": "3.0.0-beta.11",
    "@vue/cli-plugin-unit-jest": "3.0.0-beta.7",
    "@vue/cli-service": "3.0.0-beta.11",
    "@vue/eslint-config-airbnb": "3.0.0-beta.11",
    "@vue/eslint-config-typescript": "3.0.0-beta.11",
    ...
  }
}
EN

回答 2

Stack Overflow用户

发布于 2018-05-28 13:48:46

使用npm shrinkwrap解决了这个问题,它将package-lock.json转换为npm-shrinkwrap.json,该and会对安装的每个特定版本进行散列和锁定。

有关详细信息,请参阅What is the difference between npm-shrinkwrap.json and package-lock.json?

票数 1
EN

Stack Overflow用户

发布于 2018-06-02 00:15:41

我不能完全确定npm shrinkwrap是否修复了npm v6+中的问题。

下面是为vue-loader生成的npm-shenshwrap.json文件的一个片段。

看起来即使包覆面提取也没有锁定所需的版本。

代码语言:javascript
复制
"vue-loader": {
  "version": "14.0.3",
  "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-14.0.3.tgz",
  "integrity": "sha512-5kFK/df1jgVoFcTB9p19rrYcyuYduoZzUSf6chMVsIRmVL9AKPYCa9JGLAZsU1XXGbGO9MSkwbum91u2dx7YcQ==",
  "dev": true,
  "requires": {
    "consolidate": "^0.14.0",
    "hash-sum": "^1.0.2",
    "loader-utils": "^1.1.0",
    "lru-cache": "^4.1.1",
    "postcss": "^6.0.8",
    "postcss-load-config": "^1.1.0",
    "postcss-selector-parser": "^2.0.0",
    "prettier": "^1.7.0",
    "resolve": "^1.4.0",
    "source-map": "^0.6.1",
    "vue-hot-reload-api": "^2.2.0",
    "vue-style-loader": "^4.0.1",
    "vue-template-es2015-compiler": "^1.6.0"
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50557559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档