【问题标题】:Autoincrement application version in nodejs package with git push使用 git push 在 nodejs 包中自动增加应用程序版本
【发布时间】:2019-01-21 11:48:22
【问题描述】:

我正在努力寻找一种方法来自动增加我的节点应用程序的 package.json。我知道 npm 有一个名为 version 的脚本,它接受 3 个参数:次要、主要和补丁,但我未能使用 npm version minor 来增加新版本。

我每次尝试都会收到npm ERR! Git working directory not clean

所以我想做的是:

  1. 我有一个带有 package.json 文件的节点应用程序,它的版本从 0.0.1 开始。
  2. 处理新功能或错误修复或其他任何事情,然后我正在创建一个新分支并希望将我的更改推送到 git。
  3. 现在是挣扎的部分:

在提交之前的这一点上,我想我必须修改包 json。推送到 git 时如何自动增加值? 正如我现在所说,它将是 0.0.1 版,例如:

{
  "name": "App name",
  "version": "0.0.1",
   ...
}

对于新的提交,假设这是一个次要版本,它应该是:

{
  "name": "App name",
  "version": "0.0.2",
   ...
}

此外,这个应用程序不会在 NPM 包存储库上发布,所以我不需要 npm publish。

【问题讨论】:

  • npm version 用于发布到 npm,正如您可能已经注意到的那样,这就是它需要干净状态的原因。在内部,他们最有可能使用semver。您可能可以创建一个 git 挂钩来执行您需要的操作,但我想更好地理解您为什么需要这样做。 Git 已经为您提供了一个唯一的哈希值,可用于获取您的代码的特定版本。
  • 其实我只是希望我的 npm 版本是带有 github 版本标签的 sinc,只是为了我的兴趣。我现在已经设法做到了,并将很快发布解决方案。感谢您的帮助

标签: node.js git npm versioning


【解决方案1】:

次要添加 - 您可以像这样跳过 Git 版本标记:

npm version patch -git-tag-version false

如果您有未提交的更改,这也将起作用,并且除了增加 package.json 中的版本号之外不会做任何事情。

【讨论】:

    【解决方案2】:

    首先感谢您的帮助。 其次,我得到的错误是因为我所在的分支中有未提交的文件。为了解决这个错误,我在npm version 之前做了git addgit commit,这个步骤让我使用npm version patch 命令并递增package.json 文件版本到 0.0.2 我想要的。 正如@Erick Ruiz de Chavez 在上面的 cmets 中指出的那样,npm version 缩进了在 npm 上发布包,但我已经使用它在git push && git push --tags 的帮助下将我的 Github 发布版本同步到 package.json 中的包版本命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-04
      • 1970-01-01
      • 2021-02-23
      • 2014-08-04
      • 2017-07-17
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      相关资源
      最近更新 更多