Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

网络代理

企业网络常常不允许直接访问外网,而要求通过代理服务器。cjv 会读取标准的代理环境变量,因此在这类网络里无需任何 cjv 配置——设好环境变量即可让 cjv 的所有下载(工具链、组件、清单、自更新)走代理。

设置代理

cjv 的下载都走 HTTPS,因此设置 https_proxy 通常就够了。不同系统与 shell 的命令略有差异:

  • Linux / macOS(bash / zsh):

    export https_proxy=http://proxy.example.com:8080
    
  • Windows 命令提示符(cmd):

    set https_proxy=http://proxy.example.com:8080
    
  • Windows PowerShell:

    $env:https_proxy="http://proxy.example.com:8080"
    

代理 URL 支持 http://https://socks5:// 三种方案。用 SOCKS5 代理时,把上面的值换成 socks5://proxy.example.com:1080 即可。

排除内网地址

no_proxy 用来列出经过代理的主机,常用于让内部镜像或本地服务直连:

export no_proxy=localhost,127.0.0.1,mirror.corp.internal

例如用 --mirror 或自建镜像源安装工具链时,可以把镜像主机加入 no_proxy,让它绕过代理直连。

识别的变量

cjv 识别下列变量(大小写均可),与多数命令行工具一致:

变量作用
https_proxy / HTTPS_PROXYHTTPS 请求使用的代理。cjv 的下载都是 HTTPS,这是最关键的一个
http_proxy / HTTP_PROXYHTTP 请求使用的代理
no_proxy / NO_PROXY不经过代理的主机列表(逗号分隔)

注意:cjv 识别 ALL_PROXY / all_proxy。如果你只设了 ALL_PROXY,请改设 https_proxy

代理变量在 cjv 启动时从环境读取,因此请在运行 cjv 之前于当前 shell 里设好(上面那种逐次 https_proxy=… cjv … 的前缀写法也可以)。

相关:cjv 自身读取的 CJV_* 变量见环境变量。需要统一镜像 SDK、nightly 与组件时,见企业部署