使用Yarn从GitHub私有注册表装包时遇401未授权问题
Yarn安装GitHub私有包报401未授权的解决办法
常见原因及修复步骤
适配Yarn的.npmrc格式:Yarn对注册表配置的解析逻辑和npm有细微差异,修改你的
.npmrc文件为以下格式:@Qualifier:registry=https://npm.pkg.github.com/ //npm.pkg.github.com/:_authToken=GITHUB_TOKEN always-auth=true注意给注册表地址加上末尾斜杠,新增
always-auth=true强制所有请求携带认证令牌,这是Yarn识别私有包权限的关键配置。验证PAT权限:确认你的个人访问令牌(PAT)已勾选
read:packages权限——发布包只需要写入权限,但安装私有包必须要有读取权限,去GitHub令牌管理页面检查权限列表,补全缺失的权限后重新尝试安装。升级Yarn版本:旧版Yarn(尤其是1.x版本)对GitHub私有包注册表的兼容性存在bug,升级到最新稳定版Yarn,或切换到Yarn Berry(2.x及以上版本),新版本对npm生态的适配更完善。
排查环境变量冲突:如果本地设置了
YARN_NPM_AUTH_TOKEN环境变量,会直接覆盖.npmrc中的令牌配置,检查本地环境变量列表,删除或修正冲突的变量值。直接用Yarn命令配置:如果
.npmrc配置始终不生效,直接通过Yarn命令设置注册表和令牌:yarn config set @Qualifier:registry https://npm.pkg.github.com yarn config set //npm.pkg.github.com/:_authToken GITHUB_TOKEN yarn config set always-auth true配置完成后可以用
yarn config list命令确认配置是否生效。
内容的提问来源于stack exchange,提问作者VinayGowda
相关产品推荐
相关产品推荐

