无法将更改部署到firebase云
操作:cmd中的“Firebase部署”
结果:
i deploying functions
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
+ functions: required API cloudfunctions.googleapis.com is enabled
+ functions: required API cloudbuild.googleapis.com is enabled
i functions: preparing codebase default for deployment
错误:无法从源加载函数定义:无法从函数源生成清单:错误[错误包路径未导出]:未在C:\用户\rushikesh.chaskar\IdeaProjects\todosmanager\node_modules\firebase\package.json中定义“导出”主目录
6条答案
按热度按时间roejwanj1#
添加到永无止境的问题列表。如果你得到类似下面的错误,检查你的导入。
无法从源加载函数定义:Firebase错误:无法从源加载函数定义:无法从函数源生成清单:TypeError:无法读取未定义的属性(阅读'INTERNAL')
我注意到一些过时的Admin SDK说明包含以下内容:
其中正确的导入为:
6kkfgxo02#
我通过升级firebase-functions依赖项解决了这个问题
在函数目录中
np8igboo3#
在我的例子中,我的代码中有一个错误,只有在部署时才出现。
我得到的错误是
firebase functions "Failed to generate manifest from function source: TypeError: Cannot read properties of undefined (reading 'toString')"
经过大约一个小时的注解掉所有内容,然后一次取消注解一大块,我意识到我的代码没有部署到firebase函数,因为我写的一行包含
process.env.FUNCTIONS_EMULATOR.toString()
。显然,当部署process.env.FUNCTIONS_EMULATOR
时是null,所以试图在它上调用toString
会抛出错误。我将该行更改为
${process.env.FUNCTIONS_EMULATOR}
,现在部署了我的firebase函数。csbfibhn4#
就我个人而言,我使用
jest
来测试我的模块。我有这样的文件:因此,在部署时导入不起作用
我不得不这样做
yacmzcpb5#
在我的例子中,问题是一个TypeScript
enum
,我把它转换成一个数组在代码中使用。显然,firebase-functions
不喜欢这样。最后,我直接在代码中定义了数组,而没有使用类型定义中的
enum
。9w11ddsr6#
在我的例子中,我忘记在配置文件中包括子文件夹路径。
代码(索引.ts):
错误:
解决办法是改变
至
在tsconfig.json文件中。