Windows下Bun无法通过.env/.npmrc安装Bitbucket私有Git依赖
解决Bun安装Bitbucket私有Git仓库依赖无需硬编码Token的问题
针对Windows下Bun v1.2.10无法通过.npmrc环境变量自动加载Bitbucket Token的问题,提供以下几种可行方案:
方案一:修正.npmrc环境变量写法并确保变量加载
Bun对.npmrc中的环境变量解析不支持URL编码的大括号,直接使用原生变量语法即可:
- 修改
.npmrc文件中的Token配置行://bitbucket.org/:_authToken=${BITBUCKET_ACCESS_TOKEN} auto-install-peers=true legacy-peer-deps=true - 确保环境变量生效:
- 若使用
.env.local,可手动指定加载文件后执行安装:bun --env-file=.env.local install - 或直接在终端临时设置变量:
- CMD:
set BITBUCKET_ACCESS_TOKEN=ATCTT3x... - PowerShell:
$env:BITBUCKET_ACCESS_TOKEN="ATCTT3x..."
完成变量设置后再运行bun install。
- CMD:
- 若使用
方案二:利用Git凭证管理器自动认证
Bun会复用Git的凭证配置,无需在.npmrc中配置Token:
- 确保已安装Git for Windows(自带Git Credential Manager)
- 配置全局Git凭证助手:
git config --global credential.helper manager-core - 首次运行
bun install时,会弹出Bitbucket认证窗口,输入任意用户名,密码填写你的Bitbucket Access Token,Git会自动保存凭证,后续安装无需重复认证。
方案三:配置Git URL替换规则
通过Git的insteadOf规则自动替换仓库URL,无需修改package.json或.npmrc:
- 在项目根目录的
.gitconfig(或全局~/.gitconfig)中添加:[url "https://${BITBUCKET_ACCESS_TOKEN}@bitbucket.org/"] insteadOf = https://bitbucket.org/ - 确保环境变量
BITBUCKET_ACCESS_TOKEN已设置(可通过.env.local或终端临时设置),之后Bun调用Git拉取依赖时,会自动将https://bitbucket.org/替换为带Token的URL,实现无硬编码认证。
额外建议
若上述方案仍不生效,可尝试升级Bun到最新版本,部分旧版本存在.npmrc环境变量解析的bug。
内容的提问来源于stack exchange,提问作者ferwtqe
相关产品推荐
相关产品推荐

