我在 TFS 2017 服务器上托管一个 npm 注册表,带有包管理扩展。它的主机名只有一个部分 ,dnsXxx
没有任何扩展名.com
, 并在端口上配置8080
。我正在使用一个.npmrc
文件为范围内的包定义此存储库@abc
:
@abc:registry=http://dnsXxx:8080/tfs/.../npm/registry/
@abc:proxy=null
@abc:always-auth=true
npm i @abc/mypackage
当我尝试从包含该文件的文件夹中使用类似命令安装它的一个包时.npmrc
,该命令需要很长时间才能最终以npm ERR! 503 Service Unavailable: @abc/mypackage@...
.
使用 WireShark,我发现 npm 调用的 url 已被修改,我猜是这样“标准化”的:GET http://www.dnsXxx.com/tfs/.../npm/registry/@abc%2fmypackage HTTP/1.1
,导致:
- 缺少端口
www.
主机前缀和.com
主机扩展名添加不当
如果我在浏览器中调用固定 url http://dnsXxx:8080/tfs/.../npm/registry/@abc%2fmypackage
,我会得到预期的 JSON 答案。
有人看到解决方案吗?