是否存在`npm publish -f`的解决方法

Ale*_*ura 9 node.js npm semantic-versioning

现在npm publish -f已弃用,是否有解决方法或程序包可以在目标版本发布后覆盖目标版本?

我知道semver ; 我还是想要npm publish -f.

小智 12

有人在npm的github问题上说这个:

@nmrony你不能再覆盖以前发布的软件包了(自2014年2月起,如果我没记错的话).

https://github.com/npm/npm/issues/8305#issuecomment-236412989

  • 快照无法做到这一点吗?就像Maven风格的发布一样,它使您可以在存储库中累积相同版本的快照 (2认同)

mel*_*loc 11

根据npm 文档,这个未发布的版本不能重新发布,升级补丁版本并发布

\n
\n

包一旦取消发布,就无法重新发布。如果您错误地取消发布了软件包,我们建议使用不同的名称再次发布,或者对于未发布的版本,更改版本号并再次发布。

\n
\n

所以:

\n
npm unpublish\nnpm version patch\nnpm publish\n
Run Code Online (Sandbox Code Playgroud)\n

会做这项工作。

\n


dav*_*lin 8

您可以取消发布特定版本,然后重新发布它:

npm unpublish myModule@1.2.3
Run Code Online (Sandbox Code Playgroud)

然后重新发布版本。

如果模块托管在您自己的 npm 存储库上,这将无限期地工作,但根据,如果托管在registry.npmjs.org.

  • 警告如果您对唯一发布的版本执行此操作,那么您将需要等待 24 小时才能再次发布 (6认同)

Paw*_*wel 5

这可能不可行,但有一种矫枉过正的方法

npm unpublish --force - 将删除您的整个项目

等待 24 小时

npm publish