如何在nexus oss中取消发布npm包

时间:2014-10-14 10:23:30

标签: npm nexus

我已经设置了一个Nexus(2.10.0)NPM存储库,并管理对该存储库具有完全访问权限的用户。 通过设置" _auth"和" always-auth"在我的本地.npmrc中的param,npm工件的发布和读取工作正常。但是,如果我尝试取消发布或弃用npm工件,我仍会收到错误" ...此请求需要auth凭据。运行npm login并重复请求..."。

从nexus npm存储库中删除工件的首选方法是什么?

THX, 大卫

2 个答案:

答案 0 :(得分:3)

目前不支持取消发布。详情请见https://issues.sonatype.org/browse/NEXUS-6892

另请注意,从问题中链接的npm文档本身可以看出,使用取消发布不是一种好习惯。

答案 1 :(得分:3)

不幸的是,Nexus 2.11不支持npm unpublishnpm deprecate

如果目标是让以前发布的npm-packages版本无法访问:
您可以通过从Nexus服务器上的.../nexus/storage/<your_npm_repo>/<your_package>/-/手动删除tarball并创建scheduled task重建托管的npm元数据&#39; 来删除Nexus中的软件包:

  

托管存储库的npm元数据   可以根据存储中找到的组件重建   托管存储库。该任务可以作为案例中的恢复工具   npm元数据数据库损坏或组件存储的地方   手动创建或通过某些外部过程创建,例如一个rsync   复制。

这对于将旧版本的软件包注入npm-repo非常有用。 (要获取这些tar包,请使用npm pack。)