我在 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 答案。
有人看到解决方案吗?