Firebase部署报错:functions predeploy error退出码2求助
解决Firebase Deploy时的Predeploy错误(/bin/sh: --: invalid option)
第一步:排查package.json的predeploy脚本格式
这个错误大概率是package.json里的scripts字段中,predeploy命令的写法不符合shell解析规则导致的。
错误示例(常见问题:把Firebase的参数直接放在npm脚本里):
"scripts": { "predeploy": "--only functions && npm run build" }--only functions是firebase deploy的参数,不能直接作为npm脚本的命令,会被shell当成无效选项。正确写法:
将Firebase参数移到deploy命令中,predeploy仅保留预执行的任务:"scripts": { "predeploy": "npm run build", "deploy": "firebase deploy --only functions" }
第二步:检查firebase.json的predeploy配置
如果是在firebase.json中配置了预部署钩子,同样要避免错误的命令格式:
错误示例:
{ "functions": { "predeploy": "--only functions npm run build" } }正确写法(多命令用数组或分号分隔):
{ "functions": { "predeploy": [ "npm run lint", "npm run build" ] } }或单命令:
{ "functions": { "predeploy": "npm run build" } }
第三步:单独验证预执行命令
直接在终端运行predeploy里的命令(比如npm run build),确认命令本身能正常执行,排除任务自身的错误。
第四步:更新依赖与CLI版本
- 确保Node.js版本符合Firebase Functions要求(推荐18/20 LTS版本)
- 更新Firebase CLI到最新版:
npm install -g firebase-tools
如果以上步骤无法解决,请贴出你的package.json和firebase.json完整内容,便于进一步定位问题。
内容的提问来源于stack exchange,提问作者birdbluez
相关产品推荐
相关产品推荐

