Firebase:无法启动模拟器

时间:2017-12-07 05:26:52

标签: firebase google-cloud-functions

功能:无法启动模拟器。错误:找不到模块'@ google-cloud / functions-emulator / src / config'

这是我尝试在Mac上本地运行函数时收到的错误消息。我的Firebase版本是3.16.0。我也尝试过sudo npm install -g @google-cloud/functions-emulator。但仍然没有用。请帮忙。

5 个答案:

答案 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)

以下对我有用。

  1. npm uninstall -g firebase-tools&& npm i -g firebase-tools
  2. npm i --save @ google-cloud / firestore
  3. npm i --save @ google-cloud / common-grpc
  4. npm i -g @ google-cloud / functions-emulator
  5. npm i --save firebase-functions
  6. 当前的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进行安装。

我通过执行以下操作解决了这个问题:

  1. 卸载以前尝试安装的所有函数模拟器。

    npm uninstall -g @google-cloud/functions-emulator
    

    并确保:

    yarn global remove @google-cloud/functions-emulator
    
  2. 删除〜/ .config / configstore / @ google-cloud /functions -emulator中的所有文件。请注意,此目录中有一些隐藏文件。

    rm -rf ~/.config/configstore/@google-cloud/functions-emulator
    
  3. 按照此处的说明安装nvm(节点版本管理器):

      

    https://github.com/creationix/nvm#install-script

  4. 使用nvm安装特定版本的节点 - 在撰写本文时,Google Cloud Function Emulator(版本1.0.0-alpha.29)特别要求6.11.5。

    nvm install 6.11.5
    
  5. 安装Google Cloud Platform SDK:

      

    https://cloud.google.com/sdk/

  6. 重新安装函数模拟器:

    npm install -g @google-cloud/functions-emulator
    
  7. 启动模拟器以验证安装是否成功:

    functions start
    
  8. 重要:随后,在尝试创建可在本地测试或部署到Google Cloud的功能时,您应该在项目中使用firebase init functions命令,并允许其安装通过npm的依赖关系。可以在此处找到使用Firebase创建测试功能的演练:

    https://firebase.google.com/docs/functions/get-started

答案 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 ),它运作得很好。