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