Firebase Functions v2部署失败:无法找到模块'firebase-functions/v2/auth'
Firebase Functions v2部署失败:无法找到模块'firebase-functions/v2/auth'
问题概述
我最近在给现有Firebase项目添加基于v2语法的Cloud Functions,但每次部署都卡在tsc构建步骤,报错找不到firebase-functions/v2/auth模块,折腾了好多种方法都没解决,来求助大家!
报错信息具体如下:
src/index.ts:8:31 - error TS2307: Cannot find module 'firebase-functions/v2/auth' or its corresponding type declarations. 8 import { onUserCreated } from "firebase-functions/v2/auth"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
奇怪的是,我的package.json里明明指定了对应版本的依赖,但node_modules/firebase-functions目录里始终没有生成v2子文件夹,直接导致构建失败。
我的配置文件
package.json
{ "name": "functions", "scripts": { "build": "tsc", "deploy": "firebase deploy --only functions", "lint": "eslint --ext .js,.ts ." }, "engines": { "node": "18" }, "main": "lib/index.js", "dependencies": { "firebase-admin": "^12.0.0", "firebase-functions": "^5.0.1", "@google/generative-ai": "^0.24.1" }, "devDependencies": { "typescript": "^5.0.0", "eslint": "^8.9.0", "eslint-config-google": "^0.14.0", "firebase-functions-test": "^3.1.0" }, "private": true }
functions/src/index.ts(相关代码片段)
import { HttpsError, onCall } from "firebase-functions/v2/https"; import { onSchedule } from "firebase-functions/v2/scheduler"; import { onUserCreated } from "firebase-functions/v2/auth"; import { setGlobalOptions } from "firebase-functions/v2"; // ... 其他导入内容
我尝试过的解决方法
我把能想到的依赖相关解决方案都试了一遍,但问题还是没解决:
- 清理重新安装:删除
node_modules和package-lock.json,重新执行npm install - 手动锁定依赖版本:在package.json里明确指定
"firebase-functions": "^5.0.1" - 验证环境版本匹配:确认Node.js版本符合package.json的
engines要求(v18.x.x),NPM也更新到了v10.x.x的最新版本 - 清空NPM缓存:执行
npm cache clean --force - 彻底重装核心工具:完全卸载系统里的Node.js和firebase-tools,重启电脑后重新安装Node.js LTS版本
- 从头初始化functions:删掉整个functions文件夹,用
firebase init functions重新初始化模块
但不管做哪一步,npm install完成后,node_modules/firebase-functions里始终没有v2子目录,构建失败的问题一直存在。
我的环境
- 操作系统:Windows 10
- Node.js版本:v18.x.x
- NPM版本:v10.x.x
- Firebase Tools版本:v12.4.0
疑问
到底是什么原因导致npm没有正确安装依赖包呢?有没有什么我忽略的隐藏配置或者系统层面的问题?麻烦大家帮忙分析下,谢谢!
内容来源于stack exchange
相关产品推荐
相关产品推荐

