如何配置 Nexus Repository Manager 以支持 npm 审计

jas*_*sie 4 audit nexus npm npm-audit

当我尝试npm audit在我的(Angular 7)应用程序中执行时,我收到以下 npm 错误:

npm 错误!代码 ENOAUDIT
npm ERR!审计 您配置的注册表 ( https://nexus.xxx.com/repository/yyy/ ) 不支持审计请求,或者审计端点暂时不可用。

有谁知道我如何让 Nexus 支持npm audit

joe*_*ons 13

正如链接的 JIRA ( NEXUS-16954 ) 中所述,应该可以通过使用npm audit --registry=https://registry.npmjs.org.

更新(2020 年 5 月 11 日):从 NXRM 3.23 版开始,npm 审计应适用于配置了 Sonatype 防火墙或 IQ 服务器的系统。返回的消息不应再出错,而是对此进行解释。一个进一步的JIRA票已经打开跟踪此命令的工作的愿望没有在这里,但没有说明这一更新中实现的解决办法。


小智 5

该解决方案npm audit --registry=https://registry.npmjs.org仅在您的 npm 客户端可以通过互联网访问时才有效registry.npmjs.org

如果情况并非如此,并且您不想支付 Nexus 防火墙或 Nexus 生命周期费用,则可以设置另一个代理,将所有调用重定向到https://nexus.xxx.com/repository/yyy/-/npm/ v1/security/audits及其所有指向https://registry.npmjs.org/-/npm/v1/security/audits的子路径。

https://github.com/chovyy/npm-audit-proxy这样的东西可能会有所帮助。