Ale*_*lls 5 npm npm-publish npm-version
说我想生成预发布的NPM版本.
本来我有这个:
"version": "0.0.1"
Run Code Online (Sandbox Code Playgroud)
我试过了:
npm version prepatch
npm version prepatch
npm version preminor
npm version preminor
Run Code Online (Sandbox Code Playgroud)
那给了我这个:
v0.0.2-0
v0.0.3-0
v0.1.0-0
v0.2.0-0
Run Code Online (Sandbox Code Playgroud)
那些对我来说看起来并不有用,因为它们总是提高实际的版本号,这意味着似乎npm version patch并npm version prepatch没有太大的区别.
所以我的问题是 - 是否有官方方法在命令行生成带有npm的alpha/beta版本?
npm version minor-alpha
npm version minor-beta
npm version minor-rc
Run Code Online (Sandbox Code Playgroud)
这样的事情?
从npm开始,6.3.0-next.0您现在可以--preid在标记预发布时使用version.
npm version prerelease --preid=next
Run Code Online (Sandbox Code Playgroud)
NPM链接:https://docs.npmjs.com/cli/version
可悲(有点讽刺)npm并不完全支持semver的所有功能!
您需要的是一个名为pre-id的功能,可在semver规范#9中找到.我已经向npm提交了关于它的PR,但它被拒绝了.https://github.com/npm/npm/pull/13794
preids基本上允许您指定预发布的id,例如:
1.0.0-alpha or 1.0.0-alpha.1
Run Code Online (Sandbox Code Playgroud)
福雷斯特在评论中写道:
经过一些进一步的考虑和团队内部的讨论,我认为这不是CLI团队将要进行的改变.使用预发布版本是很棘手的,而且这个功能足以构成一个边缘情况,我认为它会增加而不是减少预发布版本作为步枪的机会数量.
我对footguns的关注与semver @ ^ 4中的决定相关,使预发布版本超出了匹配〜和^的范围.如果要改变semver的行为,那么有一种方法可以选择加入(然后在其中增加)给定的预发布标识符.看着社区做出反应的阵痛中使用的预发布版本与peerDependencies和包装的其他相关套件后,很明显,semver相对于预发布版本的当前行为是非常有限的用途.这意味着这种行为可能会发生变化.
既然这样,不过,我认为,谁想要使用的预发布版本的用户都关闭使用第三方工具,如npmversion更好,或建立使用故宫版"XYZ-prealpha.2"脚本(或任何适合你的使用情况)来代替.谢谢你的时间,并为延迟道歉!
正如他所建议的那样,要使其正常工作,您应该使用支持完整semver版本控制的工具.我主要推荐semver包,在npm文档中找到这里https://docs.npmjs.com/misc/semver
小智 5
您可以使用:
npm version prerelease --preid=rc
Run Code Online (Sandbox Code Playgroud)
结果:v1.0.0-rc.0
好像:
npm version prerelease
基本上是我正在寻找的,但这不会将 alpha/beta/rc 添加到版本中,它只是这样做x.y.z-n。
| 归档时间: |
|
| 查看次数: |
2038 次 |
| 最近记录: |