You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pnpm拉取GitHub Packages私有包出现401授权错误该如何解决?

问题根因

该问题是pnpm和npm的.npmrc授权匹配逻辑差异导致:
npm会自动识别同域名下的registry并复用对应授权token,pnpm则要求授权配置的路径前缀和registry的完整路径完全匹配才能生效。你当前配置的@1uphealth scope对应的registry路径为https://npm.pkg.github.com/1uphealth,但仅配置了根路径//npm.pkg.github.com/的授权token,pnpm判定该token不匹配当前请求的registry路径,因此请求时不会携带授权头,触发401错误。
另外你配置中的//npmjs.org=true属于无效配置,不会对当前问题产生影响,但建议删除避免后续干扰。

解决方案

以下两种方案二选一即可:

  • 调整scope对应的registry配置
    将.npmrc中的@1uphealth:registry=https://npm.pkg.github.com/1uphealth修改为@1uphealth:registry=https://npm.pkg.github.com/,GitHub Packages本身不需要在registry后缀加组织名,修改后原有根路径的授权token即可正常匹配生效。
  • 补充对应完整路径的授权配置
    保留原有registry配置不变,在.npmrc中新增一行授权配置:
    //npm.pkg.github.com/1uphealth:_authToken=XXXXXXX
    
    新增后pnpm可以匹配到完整registry路径对应的token,请求时即可正常携带授权头。

内容的提问来源于stack exchange,提问作者Marvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:06:07