更新npm包的自述文件时版本颠簸?
如果我修改npm包的自述文件,我维护,是否需要在package.json中打包版本,并执行另一个npm发布? 还是有另一种方式来更新自述文件没有版本碰撞。
根据你对“需要”的定义,这可能是两个非常不同的问题:
-
[可以发布自述文件的更改而不会影响版本号吗?]
-
[技术上是否可以在不增加版本的情况下发布更改]
接受的答案(通过npm publish --force
更新,即不增加版本号的任何部分)对于Q2是一个很好的答案。 但我想解决Q1。
不鼓励使用npm publish --force
。 相反,鼓励作者使用语义版本化aka semver ,它规定:
…版本格式的XYZ(Major.Minor.Patch)。 错误修复不影响API增加补丁版本,向后兼容的API添加/更改递增次要版本,向后不兼容的API更改递增主要版本。
所以我的回答是:虽然从技术上说,有一种方法可以在没有版本冲突的情况下发布更改,但是您不应该那样做。 对于不影响包的API的小修改,您应该修改“修补”版本,例如从1.2.0到1.2.1。
如果版本号已经存在于registry中, npm publish --force
会覆盖它。
您可以取消发布:
npm unpublish [@<scope>/]<name>[@<version>]
,但不再可能publish --force
,因为它已被弃用。 除此之外,您唯一能做的就是发布一个新的次要版本。 这里详细讨论: http : //blog.npmjs.org/post/77758351673/no-more-npm-publish-f
对于其他在这里的人来说,他们认为他们是对的。 是的,你做得对; 在5-10分钟内检查您的npm
页面。