npm - 发布具有多个版本的模块多个分支

Posted

技术标签:

【中文标题】npm - 发布具有多个版本的模块多个分支【英文标题】:npm - release module multiple branches with multiple versions 【发布时间】: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 会成功吗?

【问题讨论】:

【参考方案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 才能获得该特定版本。有意义吗?

以上是关于npm - 发布具有多个版本的模块多个分支的主要内容,如果未能解决你的问题,请参考以下文章

TFS 中具有多个版本的迭代

多个分支中的.gitlab-ci.yml的多个版本

一次开发多个 npm 模块的方法(具有交叉依赖关系)

npm与yarn

如何对支持不同依赖版本的多个发布分支进行版本控制?

npm 卡在旧版本上,但似乎有多个版本