我正在尝试部署一个firebase项目(函数/主机),在我的函数package.json中,我将引擎更改为节点12,因为我的一些其他包要求它至少是节点12 (以前是节点10)。
当我尝试使用vscode进行部署时,会得到以下错误:
Error: package.json in functions directory has an engines field which is unsupported. The only valid choices are: {"node": "8"} and {"node": "10"}. Note that Node.js 6 is now deprecated. 经过几个小时的努力,我可以使用firebase deploy从我的终端进行部署,但是当我尝试直接从vscode部署时,它仍然抛出相同的错误。从firebase文档来看,节点12应该是可用的?https://firebase.google.com/docs/functions/manage-functions#set_nodejs_version,我还运行了npm install -g firebase-tools来更新我的防火墙工具。
从故障日志中,我使用:
2 info using npm@6.14.16
3 info using node@v12.22.12发布于 2022-04-22 18:47:57
如果函数dir中的package.json文件具有:
"engines": {
"node": "12"
}那你就没事了。
火力基地支持节点16。
在我看来,VS Code环境中安装的节点版本与终端不同--这也意味着VS代码使用的是不同(旧版本)的firebase工具。
要测试这一点,只需在终端和VS代码中运行它,并比较结果:
node --versionhttps://stackoverflow.com/questions/71973115
复制相似问题