功能:无法启动模拟器。错误:找不到模块'@ google-cloud / functions-emulator / src / config'
这是我尝试在Mac上本地运行函数时收到的错误消息。我的Firebase版本是3.16.0。我也尝试过sudo npm install -g @google-cloud/functions-emulator
。但仍然没有用。请帮忙。
答案 0 :(得分:14)
解决方案是:
yarn global add firebase-tools
yarn global add @google-cloud/functions-emulator --ignore-engines
答案 1 :(得分:8)
工作解决方案!(OSX)以上都不适合我。经过长期的斗争,我找到了以下解决方案。
cd my_project/functions
npm install @google-cloud/functions-emulator
复制 node_modules 中生成的 @ google-cloud / functions-emulator 文件夹。
cd /usr/local/lib/node_modules/@google-cloud && open .
将 functions-emulator 文件夹粘贴到此处。
在项目的根目录中,复制 functions / node_modules / @ google-cloud / functions-emulator 中的 package.json
cd /usr/local/lib && open .
在此处粘贴 package.json 。
npm install
乌拉!你已准备好出发。现在返回项目的根目录并运行。
sudo firebase serve --only hosting,functions
仿真器应该正常启动。
注意:请勿运行 sudo npm install -g @ google-cloud / functions-emulator ,因为文件将被删除并重新安装。这是安装失败并且模拟器无法运行的地方。
希望这有帮助!
答案 2 :(得分:1)
以下对我有用。
当前的package.json代码段
"dependencies": {
"@google-cloud/common-grpc": "^0.5.3",
"@google-cloud/firestore": "^0.11.1",
"firebase-functions": "^0.8.1",
"firebase-admin": "5.8.1"
}
答案 3 :(得分:0)
我遇到了同样的问题,使用的是Ubuntu 17.10。
注意:您不需要也不应该使用sudo进行安装。
我通过执行以下操作解决了这个问题:
卸载以前尝试安装的所有函数模拟器。
npm uninstall -g @google-cloud/functions-emulator
并确保:
yarn global remove @google-cloud/functions-emulator
删除〜/ .config / configstore / @ google-cloud /functions -emulator中的所有文件。请注意,此目录中有一些隐藏文件。
rm -rf ~/.config/configstore/@google-cloud/functions-emulator
按照此处的说明安装nvm
(节点版本管理器):
使用nvm安装特定版本的节点 - 在撰写本文时,Google Cloud Function Emulator(版本1.0.0-alpha.29)特别要求6.11.5。
nvm install 6.11.5
安装Google Cloud Platform SDK:
重新安装函数模拟器:
npm install -g @google-cloud/functions-emulator
启动模拟器以验证安装是否成功:
functions start
重要:随后,在尝试创建可在本地测试或部署到Google Cloud的功能时,您应该在项目中使用firebase init functions
命令,并允许其安装通过npm的依赖关系。可以在此处找到使用Firebase创建测试功能的演练:
答案 4 :(得分:0)
我的系统:Ubuntu 16.04.3
我遇到了同样的问题,原因是" @ google-cloud / functions-emulator"未安装在&nbsp全球包文件夹'。
中就我而言,之所以发生这种情况,是因为我使用纱线全局安装了firebase-tools,而且我使用它,因为当使用npm全局安装firebase-tools时,我得到了一个文件夹访问错误,这在纱线上没有发生。
我为解决这个问题所做的是遵循npm网站上的这些简单指令,为npm全球包(https://docs.npmjs.com/getting-started/fixing-npm-permissions)使用不同的文件夹。
然后我再次安装&nbsp install -g firebase-tools' (没有sudo ),它运作得很好。