如果我为我维护的一个 npm 包修改了我的自述文件,我是否需要在 package.json 中修改版本并再做一次 npm 发布?还是有另一种方法来更新自述文件而不会出现版本问题。
4 回答
根据您对“需要”的定义,这可能是两个非常不同的问题:
[不碰版本号就可以发布自述文件更改吗?]
[技术上是否可以在不增加版本的情况下发布更改]
接受的答案(通过 更新npm publish --force
,即不增加版本号的任何部分)是 Q2 的一个很好的答案。但我想谈谈 Q1。
npm publish --force
不鼓励使用。相反,鼓励作者使用语义版本控制又名 semver,它规定:
... XYZ 的版本格式(Major.Minor.Patch)。不影响 API 的错误修复会增加补丁版本,向后兼容的 API 添加/更改会增加次要版本,而向后不兼容的 API 更改会增加主要版本。
所以我的回答是:虽然从技术上讲,有一种方法可以在没有版本冲突的情况下发布更改,但您不应该这样做。对于不影响包 API 的小修改,您应该升级“补丁”版本,例如从 1.2.0 到 1.2.1。
npm publish --force
如果注册表中已经存在版本号,将覆盖。
你能做的最好的事情是:
发布新的次要版本:
npm publish [@<scope>/]<name>[@<your new minor version>]
请在此处详细查看讨论:http: //blog.npmjs.org/post/77758351673/no-more-npm-publish-f
以下是不鼓励的(!),不应该是你的第一选择
执行此操作时要小心,在您取消发布一个包后,它不会让您重新发布它,直到 24 小时过去。
您可以取消发布包,将该版本留空(但请在执行此操作之前了解其含义):npm unpublish [@<scope>/]<name>[@<version>]
注意:该--force
参数已弃用。
对于那些登陆这里并认为他们做得对的人。是的,你做对了;npm
在 5-10 分钟内检查您的页面。