【问题标题】:npm - release module multiple branches with multiple versionsnpm - 发布具有多个版本的模块多个分支
【发布时间】:2016-03-01 14:22:50
【问题描述】:

我有一个 npm 模块,它已经在4.x.x 版本下发布,并且与3.x.x 稳定版本相比有重大变化。

但是,我对 3.x.x 版本进行了一些更新,并希望修补它的 npm 版本。可能吗?我可以在 npm 上管理 2 个主要版本吗?

https://docs.npmjs.com/cli/publishnpm publish --tag 会成功吗?

【问题讨论】:

    标签: node.js git npm git-branch semantic-versioning


    【解决方案1】:

    但是,我对 3.x.x 版本进行了一些更新,并希望修补它的 npm 版本。可能吗?我可以在 npm 上管理 2 个主要版本吗?

    是的,这是可能的。常见的做法是使用 master 分支进行新开发,如果您想修补旧版本并为其命名,例如3.x.

    因此,如果我们假设您的模块之前已发布为 3.1.2 并且您想要修复错误,即您想要发布 3.1.3(补丁版本)。只需从3.1.2 分支(假设你有一个git 标签v3.1.1):

    git checkout v3.1.2
    git checkout -b 3.x
    # make changes and commit
    npm version patch # will bump package.json, commit that and tag
    npm publish
    

    【讨论】:

    • 如果你发布了一个 dev 分支,这是否可行,例如如果您希望 npm install 安装版本 3,但提供带有显式“@4.x.x”的版本 4?
    • 不。以上将发布模块的最新版本。如果您想发布其他不被视为最新版本的版本(即执行 npm 安装时的默认版本),您需要使用 --tag。例如npm publish --tag next,这将使用户默认获得版本 3,但需要执行npm install foo@4.0.0 才能获得该特定版本。有意义吗?
    猜你喜欢
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2015-01-25
    • 2015-09-06
    • 2020-12-31
    • 2012-12-17
    相关资源
    最近更新 更多