如何解决Node.js应用程序的firebase deploy命令导致错误:“ runtime”字段是必需字段,但在firebase.json中找不到
我正在尝试在Firebase中部署Node.js应用程序,但是当我运行命令时,它会导致错误Error:
运行时 field is required but was not found in firebase.json.
我尝试运行命令firebase serve --only functions,hosting
,并且在本地一切正常,因此我想部署该链接并提供给同事以进行用户测试,但是我无法使用firebase deploy
命令来完成此操作
我尝试将命令添加到我的firebase.json
文件中,但是还是没有运气。这是我的原始firebase.json
文件:
{
"hosting": {
"public": "public","rewrites": [
{
"source": "**","function": "app"
}
]
}
}
收到错误后,我更改为:
{
"hosting": {
"public": "public","runtime": "nodejs10","function": "app"
}
]
}
}
仍然收到错误,我对在哪里确实需要添加命令"runtime": "nodejs10",
感到困惑。我尝试查找,但未找到有关类似问题的任何相关文章,任何人都可以帮助我。
解决方法
该错误消息提示您将其添加到“ 功能”部分。您将其添加到“托管”部分,该部分将无法正常工作。针对Cloud Functions(而非Firebase托管)选择了运行时选项。它们是具有不同配置的不同产品。
该消息在添加内容方面也不完全准确。
按照documentation中的讨论,将运行时添加到功能部分:
{
"functions": {
"engines": {"node": "10"}
}
}
,
要设置运行时,请在初始化期间在functions /目录中创建的package.json文件的engines
字段中设置版本。例如,要仅使用版本10,请在package.json中编辑以下行:
"engines":{"node":"10"}
引擎字段为必填字段;它必须指定受支持的Node.js版本之一,以便您部署和运行功能。当前,firebase初始化函数将此字段设置为节点10
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。