npm 能用,但 tfjs-node 的原生资源下载绕过了代理
设置 scripts/resources.js 读取的环境,并在再次改动 npm 配置之前检查它取第一个非空变量的顺序。
对 tfjs-node 的 scripts/resources.js 下载路径,要给子进程提供它的代理环境。在启动包操作的那个 PowerShell 会话中:
$env:HTTPS_PROXY = 'http://proxy.example:8080'
$env:HTTP_PROXY = 'http://proxy.example:8080'从该会话启动想要执行的操作。对于被允许的公共资源下载,请在这些取值中使用来自HTTP 代理列表的 HTTP 端点。脚本按以下顺序读取 process.env,并取第一个非空的值:HTTPS_PROXY、https_proxy、HTTP_PROXY、http_proxy。靠前的陈旧取值会掩盖你后来在列表中所做的改动。
一次成功的 npm 仓库请求检验的是另一个下载器。它在 .npmrc 中的代理条目未必会提供原生资源脚本所用的进程变量。把失败的 URL 和下载阶段一起留下,以便判断缺的是哪一项输入。
这个顺序属于所述资源实现。请把它与已安装的 tfjs-node 版本的下载器对齐,而不是用另一个版本的假设去改缓存里的脚本。