我的功能:准备模拟功能。 警告:您使用的是Node.js v8.10.0,但Google Cloud Functions仅支持v6.11.5。
⚠功能:无法加载功能源代码。通过在函数目录中运行npm i --save firebase-functions确保您拥有最新的SDK。
⚠功能:模拟器出错。解析触发器时出错:找不到模块'/ home / developer / Development / host2 / functions'
在部署之前尝试在您的函数目录中运行“npm install”。
我们是firebase功能的新手,如何解决这个问题?
答案 0 :(得分:4)
在许多情况下,新功能和错误修复仅适用于最新版本的Firebase CLI和firebase-functions SDK。在Firebase项目的functions文件夹中使用这些命令频繁更新Firebase CLI和SDK是一个很好的做法:
npm install -g firebase-tools
npm install firebase-functions@latest firebase-admin@latest --save
答案 1 :(得分:0)
我也有这个问题。我无法解释如何,但事实证明我的firebase.json
不正确。检查它的功能部分,确保它看起来像这样:
"functions": {
"source": "functions"
},
找到了这个答案:How to deploy functions from other directory than '/functions'?
答案 2 :(得分:0)
在我的情况下,解决方案是:
1-重新安装节点(版本10.15.0)。从node.org下载node-v8.11.2-x64.msi后
2-重新安装firebase-tools(npm install firebase-tools -g)
3-清除缓存(npm cache clear --force)
答案 3 :(得分:0)
我不知道我的问题是否与您的相同,但为进一步参考,我将发布解决方案。
在我的情况下,我使用的是TypeScript
而不是JavaScript
,因此在运行firebase serve
之前需要先编译代码。
在您的Firebase应用程序目录中:
$ cd functions/
$ npm run-script build
$ cd ..
$ firebase serve
最后一条命令可能需要超级用户权限,因此sudo firebase serve
。
或者,如果您使用的是npm run-script lint
,则可以在npm run-script build
之前运行tslint
来检查可能的错误。