网络和请求设置
网络设置#
httpsProxy#
- 默认值: null
- 类型:url
用于传出 HTTPS 请求的代理。如果设置了 HTTPS_PROXY、 https_proxy、HTTP_PROXY 或 http_proxy 环境变量,将使用环境变量的值。
如果你的代理 URL 包含用户名和密码,请确保对它们进行 URL 编码。例如:
httpsProxy: "https://use%21r:pas%2As@my.proxy:1234/foo"
不要对用户名和密码之间的冒号 (:) 进行编码。
自 v11.20.0 起,空值会被视为未设置,不会导致安装因 ERR_PNPM_INVALID_PROXY 失败,因此导出 HTTPS_PROXY= 的 shell 会直接关闭代理。在 pnpm-workspace.yaml 或 .npmrc 中把该值设为 false 或 null,同样会关闭代理。在命令行中,false 与 null 就是普通的主机名,因为标志会原样传递其值。
httpProxy#
- 默认值: null
- 类型:url
用于传输 HTTP 请求的代理。如果设置了 HTTP_PROXY 或 http_proxy 环境变量,则底层请求库将遵循代理设置。
空值、false 和 null 的表现与 httpsProxy 中所述一致。
.npmrc 还支持 npm 的旧版 proxy 设置,它作为 https-proxy 和 http-proxy 的后备值使用。自 v11.20.0 起,空的 proxy= 视为未设置,因此不再压制 HTTPS_PROXY 环境变量;而 proxy=false(或 pnpm-workspace.yaml 中的 proxy: false)会关闭代理,不再被读作名为 false 的代理主机(#13533)。
noProxy#
- 默认值: null
- 类型:字符串
一个由逗号分割的域名字符串,表示不应该被使用的代理
空值、false 和 null 的表现与 httpsProxy 中所述一致。
localAddress#
- 默认值:undefined
- 类型:IP 地址
与 npm 注册源建立连接时要使用的本地接口的 IP 地址。
maxsockets#
- 默认值:网络并发 x 3
- 类型:Number
每个源(由协议/主机/端口号组合而成)允许的最大连接数。
strictSsl#
- 默认值:true
- 类型:Boolean
通过 HTTPS 向registry发出请求时是否进行 SSL 密钥验证。
请求设置#
gitShallowHosts#
- 默认值:['github.com', 'gist.github.com', 'gitlab.com', 'bitbucket.com', 'bitbucket.org']
- 类型:string[]
当获取 Git 仓库中的依赖项时,如果域名在此设置中列出,pnpm 将使用浅克隆仅获取所需的提交,而不是所有历史记录。
networkConcurrency#
- 默认值:自动(工作进程 × 3,限制在 16-64 之间)
- 类型:Number
控制同时处理的最大 HTTP(S) 的网络请求数。
从 v10.24.0 开始,pnpm 会根据工作进程数自动选择 16 到 64 之间的值(网络并发=(工作进程 × 3,限制在 16-64 之间))。明确设置这个值以覆盖自动缩放。
fetchRetries#
- 默认值:2
- 类型:Number
如果 pnpm 无法从registry中获取,重试次数。
fetchRetryFactor#
- 默认值:10
- 类型:Number
重试回退的指数因子。
fetchRetryMintimeout#
- 默认值:10000(10 秒)
- 类型:Number
重试指数退避的下限(以毫秒为单位)。
fetchRetryMaxtimeout#
- 默认值:60000(1 分钟)
- 类型:Number
重试指数退避的上限(以毫秒为单位)。
fetchTimeout#
- 默认值:60000(1 分钟)
- 类型:Number
等待 HTTP 请求建立连接并完成的最长时长。在网络连接状况尚可的情况下,这段时间应该足以完成最大数据包的下载。
fetchWarnTimeoutMs#
添加于:v10.18.0
- 默认: 1000毫秒 (10 秒)
- 类型:Number
如果对注册表的元数据请求所花的时间超过指定的阈值(以毫秒为单位),则会显示警告消息。
fetchMinSpeedKiBps#
添加于:v10.18.0
- 默认值:50 KiB/s
- 类型:Number
如果从注册表下载 tarball 的速度低于指定的阈值(以 KiB/s 为单位),则会显示警告消息。