更新npm包的自述文件时的版本崩溃?

时间:2012-11-09 06:09:10

标签: node.js npm

如果我修改了我维护的npm包的自述文件,我是否需要在package.json中修改版本并执行另一个npm发布?还是有另一种方法来更新自述文件而没有版本冲突。

4 个答案:

答案 0 :(得分:36)

根据您对"需要"的定义,这可能是两个非常不同的问题:

  1. [可以在不破坏版本号的情况下发布自述文件更改吗?]

  2. [技术上可以在不增加版本的情况下发布更改]

  3. 接受的答案(通过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将覆盖。

https://npmjs.org/doc/publish.html

答案 3 :(得分:1)

对于那些在这里降落并认为他们做得对的人。是的,你做得对;请在5-10分钟内检查您的npm页面。