Nexus 和 NPM 的 404 错误

Error 404 with Nexus and NPM

我设置了一个 Nexus 组和代理(如 nexus 3 文档中所述)以在我的内部企业网络中缓存我的 npm 库。我将我的 .npmrc 配置如下:

registry=http://<repo url>/repository/<group>/
email=admin@company.com
_auth=YWRtaW46YWRtaW4=

当我在详细模式下启动 npm install 时,我得到如下输出(只是摘录,有很多 404):

....
fetch GET 200 http://<repo-url>/repository/<group>/camelcase 390ms
http fetch GET 200 http://<repo-url>/repository/<group>/run-sequence 171ms
fetch GET 200 http://<repo-url>/repository/<group>/lru-cache 343ms
http fetch GET 200 http://<repo-url>/repository/<group>/gulp 260ms
http fetch GET 200 http://<repo-url>/repository/<group>/tslint 591ms
httphttp fetch GET 200 http://<repo-url>/repository/<group>/gulp-flatten 193ms
 fetch GET 404 http://<repo-url>/repository/<group>/typescript 578ms
httphttp  fetchfetch GET 200 http://<repo-url>/repository/<group>/glob-stream 274ms
....

最终导致:

npm verb type OperationalError
npm verb stack Error: 404 Not Found: typescript@2.4.2
npm verb stack 
   at fetch.then.res ...

但是当我使用浏览器调用失败的工件 URL(失败并返回 404)时,我毫无问题地获得了相应工件的元数据。

到目前为止我尝试了什么:

好的,我的企业代理仍然设置为全局。我之前一定以某种方式执行过 npm config set ... 一次。但是:当我使用 npm config rm https_proxy 删除代理时,它开始完美运行!所以最后这是一个代理问题(无论出于何种原因)。

还是有点奇怪,因为 nexus url 以 http 而不是 https 开头,所以我没想到这里的 https 代理会出现问题。但我多次切换它以确保这确实是问题所在,而且确实如此。这可能是一个 npm 错误。