功能部署有错误。要继续部署其他功能(例如数据库),请运行:
firebase deploy --except functions
错误:
功能未正确部署。
答案 0 :(得分:7)
我和Firestore有同样的问题,我的问题是文档的路径很糟糕。我在文档路径的开头和结尾都有一个斜杠,就像我以前使用Firebase实时数据库路径一样。 希望它可以帮助某人。
答案 1 :(得分:5)
我也遇到了这个错误,我遇到了 package.json 文件中缺少依赖项的问题。
通过运行
firebase --debug deploy
它返回了用户代码错误。
firebase functions:log
然后给出了具体信息,即不包含软件包。
答案 2 :(得分:2)
最近 Firebase 允许您使用 Functions,前提是您有 Blaze-Pay as you go 计划。因此,您也无法部署函数,而且您将收到同样的错误消息,无需进一步说明。
答案 3 :(得分:2)
我的是关于;
“功能部署失败,因为结算帐号不可用。”
所以我有待付款,付款后,它按预期工作。
答案 4 :(得分:2)
在我的情况下,经过长时间的搜索,我发现原因是我为了调试而禁用了项目的计费。
在 Google cloud console
中启用后,它现在工作正常。
firebase 无法显示任何有用的错误消息来提示问题,这真的很令人难过。经过多次试验,我发现了这一点。
答案 5 :(得分:1)
在得到上述部署错误后,我编辑了index.js文件并从" helloWorld"更改了该函数的名称。到" heyWorld"并突然firebase deploy命令工作。
答案 6 :(得分:1)
在我的例子中,firebase 部署失败并出现错误“错误:函数没有正确部署。”并且没有进一步的解释。我注意到即使我没有接触过的功能也无法部署。 因此,我检查了依赖项,发现“package.json”中不存在库。
所以我执行这个命令:cd functions && rm -rf node_modules && rm package-lock.json && npm install && npm install [特定库不在package.json] && npm fund && firebase deploy
之后部署成功,package.json中出现了缺失的依赖
答案 7 :(得分:1)
$
导致 Error: Functions did not deploy properly.
之前:
`export const newMessage = functions.firestore.document('chats/${chatId}/messages/${messageId}').onCreate(handleNewMessage())`
之后:
`export const newMessage = functions.firestore.document('chats/{chatId}/messages/{messageId}').onCreate(handleNewMessage())`
答案 8 :(得分:1)
我遇到了相同的通用错误消息,并最终运行(如本问题所述):
firebase --debug deploy --only functions:[functionName]
这揭示了实际问题(我的项目没有默认的 GCP 资源位置,此处描述了对此的修复:Firebase Project Initialization Error: Cloud resource location is not set for this project)
一旦我设置了 GCP 资源位置,函数部署就没有问题!
答案 9 :(得分:1)
有同样的错误,我最终通过更新 package.json 解决了它
来自:
"engines": {
"node": "12"
},
到:
"engines": {
"node": "14"
},
答案 10 :(得分:1)
我遇到了类似的问题,但我使用的是 Typescript。
它基本上是针对不受支持的 javascript 版本 (ES2020)。我更改了 Scapy
并正常部署
tsconfig.json
答案 11 :(得分:0)
请按照以下步骤操作:
npm install
在继续之前。\nnpm ERR! \nnpm 错误! \nnpm 错误!无效:锁定文件的 body-parser@1.19.0 不满足 body-parser@~1.0.1\nnpm ERR!
这应该有效。
如果您在重新部署后从您的托管 URL 中收到 403 错误,则您的 CLI 版本可能已过时:
答案 12 :(得分:0)
就我而言,Firestore 的位置设置不正确。来自Functions Documentation:
<块引用>默认情况下,函数在 us-central1
区域运行。
就我而言,Firestore 设置在不同的位置。您可以在项目设置下的 Default GCP resource location
处找到它。
要修复它,只需进行以下更改:
// Before
functions.firestore.document("...").onCreate(...)
// After
functions.region("asia-east2").firestore.document("...").onCreate(...)
答案 13 :(得分:0)
我也遇到了同样的情况,但不幸的是,--debug
没有任何错误。
然后我删除了我在 firebase 控制台中部署的所有函数
cd functions
rm -rf node_modules
npm install
firebase deploy --only functions
它的作用就像魔法一样。
答案 14 :(得分:0)
今天这对我有用:删除函数和重新部署。
答案 15 :(得分:0)
firebase functions:log
这让我能够找出我的案例中的问题:package.json 中的依赖项中没有列出其中一个包
答案 16 :(得分:0)
我删除了 yarn.lock
然后错误消失了。我认为 package-lock.json 和 yarn.lock 不应该同时存在。
答案 17 :(得分:0)
尝试添加这个
“运行时”:“nodejs12”
在你的火力基地,json
示例:
"functions": {
"source": ".",
"ignore": [
".firebase/**",
"**/node_modules/**",
"**/public/**",
".firebaserc",
"firebase.json",
"postcss.config.js",
"README.md",
"tailwind.config.js"
],
"runtime": "nodejs12"
}
答案 18 :(得分:0)
如果有人来到这里尝试在Firebase中以通用角度部署 ssr函数,那是因为您的函数中不包含firebase。
1。)cd functions
2。)npm i firebase@latest
3。)npm run deploy
4。)cd ..
5。)现在,当您运行ng deploy
时,它应该可以正常工作...这里的关键是添加Firebase,并首先使用npm run deploy
进行部署...
答案 19 :(得分:0)
删除build
函数文件夹对我有用
答案 20 :(得分:0)
我有同样的问题。问题出在我的根文件夹中有index.js文件和package.json文件,并且在运行firebase functions init命令后,在functions文件夹中还有index.js和package.json。依赖关系仅在根文件夹的package.json文件中列出,而在functions文件夹中没有列出。我将依赖项复制到functions文件夹中的package.json文件,一切都像一个超级按钮一样工作。
答案 21 :(得分:0)
我在Firebase项目部署中遇到了同样的问题。然后找出错误并发现某些模块路径是引起问题的原因。然后我更改了该模块的路径。
要尝试重新部署这些功能,请运行: firebase deploy --only functions:api,functions:createScream
要继续部署其他功能(例如数据库),请运行: firebase deploy-功能除外
错误:功能未正确部署。
错误表明找不到模块。
您是否在package.json依赖项中列出了所有必需的模块?
详细的堆栈跟踪:错误:找不到模块( ../ key /您的秘密key.json )'
然后,我更改了登录凭据所需的秘密密钥的路径,并将其放置在其他文件夹中。然后运行firebase deploy
。
那对我有用。
答案 22 :(得分:0)
尝试使用--debug
运行部署。例如:firebase --debug deploy
。
就我而言,该函数如下所示:
exports.test = functions.firestore.document('chats').onCreate((snap, context) => {
...
});
调试日志包含以下错误消息:
fieldViolations = [field = event_trigger,description =期望值聊天以匹配正则表达式[^ /] + / [^ /] +(/ [^ /] + / [^ /] +)*]]
那时我才意识到chats
不是文档而是集合。我将路径更改为文档的路径,并且一切正常。
答案 23 :(得分:0)
我的firebase在部署时找不到firebase-functions和firebase-admin模块,因为我在devDependencies中写了它们,而不仅仅是依赖。但是之后...我仍然有一个问题。但这为我解决了问题:https://github.com/nuxt/nuxt.js/issues/2714#issuecomment-423048343。
只需注意节点8作为函数文件夹package.json中的引擎对象,并在nuxt配置中添加babel片段。
答案 24 :(得分:0)
只需关闭您正在使用的任何IDE,然后将其重新打开即可。然后在节点上重新部署您的功能。这样可以解决问题。
答案 25 :(得分:-1)
检查函数文件夹中的json模块依赖项。 那里有一个特定的json包。 如果你在项目中包含的某个模块并不存在(在json中),你可能会提到错误。 要安装只是运行:
npm install <module> --save
或
yarn add <module> --save
然后再次运行部署:
firebase deploy --only functions