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

如何在Firebase Cloud Functions中安装GitHub私有npm包

解决方案

错误根源

你的配置存在三个核心问题,导致npm拉取私有仓库时没有携带授权令牌,触发认证失败:

  • .npmrc 中私有包前缀对应的 registry 配置错误,registry 必须是npm包仓库地址,不能直接写git仓库地址
  • package.json 中依赖直接填写git仓库地址,npm会跳过registry配置直接拉取git资源,不会使用你配置的PAT
  • 若.npmrc未放在functions目录下,Firebase构建时不会读取该配置

修复步骤

步骤1:调整.npmrc配置

将.npmrc放在functions文件夹根目录(和package.json同层级),内容修改为:

@calugarul:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=你的GitHub个人访问令牌(需勾选repo、read:packages权限)
always-auth=true

若担心令牌泄露,可将令牌改为环境变量引用格式${GITHUB_TOKEN},部署前在本地终端先设置export GITHUB_TOKEN=你的令牌即可,Firebase构建时会自动完成变量替换。

步骤2:修改package.json依赖配置

将dependencies中的@calugarul/ccxt.pro配置改为你发布到GitHub Packages的对应版本号,示例:

"@calugarul/ccxt.pro": "^1.2.0"

如果你不想将包发布到GitHub Packages,需要直接拉取私有git仓库代码,可直接将依赖地址修改为带令牌的格式(不推荐,令牌会明文写在配置文件中):

"@calugarul/ccxt.pro": "git+https://你的令牌@github.com/kroitor/ccxt.pro.git"

步骤3:重新部署

执行部署命令验证修复效果:
firebase deploy --only functions


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:15:05