如何在Yarn中配置no proxy规则,适配企业内部仓库依赖安装
方案1:按依赖scope配置独立源(最优推荐)
企业内部依赖通常会使用统一的专属scope(如@yourcompany/*),你可以直接为该scope配置独立的内部仓库地址,从根源上避开代理逻辑,无需配置跳过规则:
# 为企业scope配置内部仓库地址 yarn config set @yourcompany:registry https://你的企业内部仓库地址/ # 如内部仓库需要鉴权,额外配置token yarn config set //你的企业内部仓库地址/:_authToken 你的内部仓库鉴权token
该方案安全性最高,仅内部scope的依赖走内部源,其余公开依赖仍走公网代理,不会影响公网包的拉取。
方案2:配置系统NO_PROXY环境变量(适配无统一scope的场景)
Yarn 1.x版本虽然没有提供独立的no-proxy配置项,但会默认读取系统的NO_PROXY环境变量,你可以将企业内部域名添加到该环境变量中实现代理跳过:
- macOS/Linux 临时生效(终端执行):
如需永久生效,将上述命令添加到export NO_PROXY=".你的企业内部域名后缀,localhost,127.0.0.1"~/.bashrc或~/.zshrc文件中即可。 - Windows 临时生效:
CMD执行:
PowerShell执行:set NO_PROXY=.你的企业内部域名后缀,localhost,127.0.0.1
如需永久生效,将变量添加到系统环境变量列表中即可。$env:NO_PROXY = ".你的企业内部域名后缀,localhost,127.0.0.1"
方案3:Yarn 2+(Berry)原生配置
如果你使用的是Yarn 2及以上版本,框架已原生支持noProxy配置项,直接执行以下命令即可:
yarn config set httpProxy "${PROXY}" yarn config set httpsProxy "${PROXY}" yarn config set noProxy ".你的企业内部域名后缀,localhost,127.0.0.1"
修改Yarn源码的临时方案兼容性差,升级Yarn版本后配置就会失效,不推荐长期使用。
内容的提问来源于stack exchange,提问作者Shaiju Janardhanan
相关产品推荐
相关产品推荐

