Node运行脚本报错Cannot find module 'firebase-functions'如何解决
Node12 环境
Cannot find module 'firebase-functions' 报错解决步骤 原始报错信息:
internal/modules/cjs/loader.js:818 throw err; ^ Error: Cannot find module 'firebase-functions' Require stack: ...
该报错的核心原因是 Node 运行时无法在指定路径下找到 firebase-functions 依赖包,结合你使用的 Node12 版本,按以下顺序排查即可:
1. 检查项目是否初始化、依赖是否安装
- 进入你执行脚本的工作目录,执行
ls package.json(Windows 环境执行dir package.json),如果提示文件不存在,先执行npm init -y初始化项目配置文件 - 执行
npm list firebase-functions检查依赖安装状态,如果输出-- (empty)或UNMET DEPENDENCY相关提示,说明未安装该依赖。注意 Node12 不支持 firebase-functions 4.0 及以上版本,必须安装 3.x 兼容版本,执行以下命令安装:npm install firebase-functions@3 --save
2. 检查路径匹配问题
- 不要使用
-g参数全局安装项目依赖,Node 默认只会读取当前工作目录下node_modules文件夹里的依赖,全局安装的依赖默认不会被项目脚本识别 - 确认你执行
npm install的目录,和你运行脚本的工作目录是同一个,避免依赖安装到其他路径导致找不到
3. 清理缓存重装(前两步无效时尝试)
- 删除本地依赖目录和锁文件:
- Mac/Linux 环境执行:
rm -rf node_modules package-lock.json - Windows 环境CMD执行:
rmdir /s /q node_modules && del package-lock.json
- Mac/Linux 环境执行:
- 清理npm缓存:
npm cache clean --force - 重新执行安装命令:
npm install firebase-functions@3 --save
验证修复
安装完成后重新运行脚本即可,后续如果出现其他模块的同类找不到报错,按照同样逻辑安装对应兼容 Node12 版本的依赖即可。
内容的提问来源于stack exchange,提问作者0diseus
相关产品推荐
相关产品推荐

