firebase云错误无法从源加载函数定义

rus*_*kar 38 node.js firebase google-cloud-functions

无法将更改部署到 firebase cloud

操作: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
Run Code Online (Sandbox Code Playgroud)

错误:无法从源加载函数定义:无法从​​函数源生成清单:错误 [ERR_PACKAGE_PATH_NOT_EXPORTED]:C:\Users\rushikesh.chaskar\IdeaProjects\todosmanager\node_modules\firebase\package.json 中没有定义“导出”main

Lac*_*cD. 63

添加到永无止境的问题列表中。如果您收到类似以下错误的信息,请检查您的导入。

无法从源加载函数定义:FirebaseError:无法从源加载函数定义:无法从​​函数源生成清单:TypeError:无法读取未定义的属性(读取“内部”)

我注意到一些过时的 Admin SDK 说明如下:

import {initializeApp} from "firebase-admin";
Run Code Online (Sandbox Code Playgroud)

正确的导入是:

import {initializeApp} from "firebase-admin/app";
Run Code Online (Sandbox Code Playgroud)

  • 这救了我的命 (3认同)

cge*_*nco 7

就我而言,我的代码中有一个错误,仅在部署时才出现。

我得到的错误是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为空时,尝试调用toString它会引发错误。

我将该行更改为`${process.env.FUNCTIONS_EMULATOR}`现在我的 firebase 功能已部署。

  • 可以确认这也对我有用。我使用 process.env.variableName 在函数文件中引用了变量,并将它们包装在 `${process.env.variableName}` 中解决了我的问题。 (3认同)

小智 7

就我而言,我能够运行firebase deploy --debug详细的输出日志记录,这有助于我进一步缩小问题范围。


小智 6

我通过升级 firebase-functions 依赖项解决了这个问题

yarn add firebase-functions
Run Code Online (Sandbox Code Playgroud)

在函数目录中


小智 5

就我而言,问题与我的文件夹结构有关。要确定问题的根本原因,您也许可以分析以下文件。

functions/firebase-debug.log 
Run Code Online (Sandbox Code Playgroud)