Nexus 3 NPM代理返回404

时间:2019-02-26 08:57:48

标签: npm nexus

我按照文档中的说明设置了一个代理存储库。 最初,作用域存储库存在问题,但是在向Apache conf添加AllowEncodedSlashesnocanon之后。一切都很好。

特别是在包装上(@ fortawesome / fontawesome-svg-core)给我带来麻烦。

当我包含此软件包时,它将返回404错误。但是,其他相同范围的软件包都可以。

请注意,从常规注册表中获取软件包也很好。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

对于某些@babel作用域的程序包,我遇到了同样的问题。创建一个新的代理存储库并替换旧的代理存储库对我来说是“解决”了问题。我猜旧的代理回购已损坏。显然,您将丢失所有缓存的程序包,这真是令人讨厌。

也许其他人可以阐明问题的原因。

编辑:稍后,对于其他软件包,再次发生了类似的问题。

npm ERR! code ETARGET
npm ERR! notarget No matching version found for @angular-devkit/build-webpack@0.13.4
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doen't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of '@angular-devkit/build-angular'

经过一番调查,我注意到https://mynexus/repository/npm-repo/@angular-devkit%2fbuild-webpack的服务器响应返回了一个过时的版本列表(或包的过时元数据)。我猜在某些情况下元数据没有正确更新。我什至重新配置了元数据年龄为0的存储库,但无济于事。

在资源库浏览器中删除资产是可行的,但远非理想的解决方案。

答案 1 :(得分:0)

在用户界面中转到“支持/日志”,并将“ org.apache.http”记录器设置为DEBUG级别。然后重现问题,并检查nexus.log。您将能够看到Nexus对npm注册表所做的请求以及收到的响应。