Firebase不支持Node.js 18,启动云函数模拟器报错如何解决?
解决Firebase Cloud Functions模拟器启动时的engines字段不支持错误
问题核心
你运行firebase emulators:start时触发的错误,本质是functions目录下package.json的engines.node版本不在当前firebase-tools支持范围内,你的工具版本11.24.1只允许node 10/12/14/16这几个版本。
解决步骤
打开functions文件夹里的
package.json,找到engines字段,比如可能是这样:"engines": { "node": "18" }把node版本改成工具支持的取值,推荐用最高的16(10、12已停止维护):
"engines": { "node": "16" }检查本地Node.js版本是否和指定版本匹配:
运行node -v查看当前版本,如果不匹配,用nvm切换(没有nvm的话先安装):nvm install 16 nvm use 16进入functions目录重新安装依赖,再启动模拟器:
cd functions yarn install firebase emulators:start
补充说明
更新firebase-functions和firebase-admin不会自动修改engines字段,这个字段需要你手动调整,它决定了Cloud Functions运行时使用的Node.js版本,必须和firebase-tools支持的版本对齐才能正常启动模拟器。
内容的提问来源于stack exchange,提问作者Rareform
相关产品推荐
相关产品推荐

