【问题标题】:NPM package-lock version propertyNPM 包锁版本属性
【发布时间】:2019-03-29 12:46:26
【问题描述】:

有没有办法管理/同步 package-lock.json 文件中的版本属性?我的情况如下:

  1. 当我有一个新版本时,我手动更新版本属性 package.json,提交并推送。
  2. 在构建服务器上,npm install 获取构建服务器所需的所有 deps 等。
  3. 不过,npm install 也会更新 package-lock.json 中的版本属性以匹配 package.json 中的版本(这很好,但为时已晚)。

我可以在第一步中创建一个npm install 以使package-lock.json 中的版本属性与package.json 中的版本属性同步,然后提交并推送,但对我来说这没有意义(不是npm install 的目的,有人可以简单地忘记,等等。)。我也知道我不应该手动更新 package-lock.json 文件。

  • 有没有更好的方法来处理这个问题?
  • 我正在使用 NPM 版本 5.6,我知道在版本 5.7 中有一个新命令 npm ci 不会改变 package-lock.json 文件但也不会解决版本需要同步的问题,无论如何现在我想知道在 5.6 版本中是否有办法处理这个问题。

【问题讨论】:

  • 在提交之前npm install --package-lock-only 是否更有意义?附: docs.npmjs.com/cli/version
  • 如果您在 package.json 文件中将版本号更改为 '*' 意味着它会自动采用最新版本。但每次你需要手动安装包
  • @Vinoth 我无法将版本号更改为 '*' 我使用该版本在 UI 上显示它。
  • @wanjas --package-lock-only 究竟做了什么?但仍然没有意义,因为无论如何你都必须做一个npm install
  • @mkhayata 通常不鼓励手动编辑 package.json。你可以使用 npm 命令来更新 package.json 和 package-lock.json。 npm install <package-name@version> --savenpm uninstall <package-name@version> --save

标签: node.js npm package.json package-lock.json


【解决方案1】:

老问题,但答案是“npm 版本 [新版本]”。这将更新 package.json、package-lock.json 和 npm-shrinkwrap.json。

https://docs.npmjs.com/cli/v8/commands/npm-version

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 2012-01-09
    • 2021-10-26
    • 2017-09-13
    • 1970-01-01
    相关资源
    最近更新 更多