【问题标题】:npm publish patch for earlier major versionnpm 发布早期主要版本的补丁
【发布时间】:2017-08-22 22:21:49
【问题描述】:

我似乎找不到有关 npm 如何与存储库中的分支一起使用的信息。

假设一个 npm 包当前版本为:1.0.5

重大更改需要从 1.0.5 => 2.0.0

更改版本

一些用户继续使用 1.x.x 以避免破坏性更改。

如果在 1.0.5 中发现错误,则需要为需要从 1.0.5 更改版本的 1.x.x 用户进行修复> => 1.0.6

实际上,这是分支。我会为 1.x.x 用户创建一个 git 分支,并继续为 2.x.x

使用 git 的主分支

但是这与 npm 有什么关系呢?我应该发布旧的 npm 版本 1.0.6 吗?在这种情况下,1.0.6 不会成为最新的,而实际上 2.0.0 应该是 npm install 时的默认值。

我找不到 npm 的分支相关信息。我确定上述情况很常见,但我找不到任何信息。请有人指出我正确的方向。

【问题讨论】:

    标签: npm


    【解决方案1】:

    您在正确的轨道上 - 您想要发布 package@1.0.6 而不更新 latest 标记。您可以通过向npm publish 提供--tag <tagname> 参数来做到这一点--

    cd project
    git checkout old-branch
    grep version package.json
      "version": "1.0.5",
    [make changes]
    git commit
    npm version patch
    grep version package.json
      "version": "1.0.6",
    npm publish --tag old-version
    

    只要您向npm publish 提供--tag <tagname> 参数,latest 标记就不会更新,使用npm install <package>npm install <package>@latest 的人仍将获得2.x 版本。

    请注意,标记名必须与版本号共享一个命名空间,因此最好选择一个看起来不像 semver 版本的标记名;避免使用“1.0.6”或“v1.0.6”。

    来源:https://docs.npmjs.com/cli/publish 和:https://docs.npmjs.com/getting-started/using-tags

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-03
      • 2011-08-23
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      • 2014-04-04
      相关资源
      最近更新 更多