FirebaseError:解析触发器时出错:无法找到模块' grpc'

时间:2017-11-01 21:15:57

标签: angular firebase grpc angular-universal

我尝试使用Angular Universal和Firebase云功能创建一个带有服务器端渲染(SSR)的Angular4应用程序。

使用ng serve运行应用程序没有问题,但在使用ng build --prod --aot -app 0ng build --prod --aot -app 1构建应用程序和服务器,并使用tsc -p ./server/tsconfig.functions.json编译服务器文件后启动应用程序使用firebase serve --only hosting,functions,我在控制台中收到错误:Error from emulator. FirebaseError: Error parsing triggers: Cannot find module 'grpc'

enter image description here

我曾尝试在函数目录中重新安装firebase-functions,但这并没有解决问题。

这是我的依赖项对象:

"dependencies": {
    "@angular/animations": "^4.4.6",
    "@angular/common": "^4.4.6",
    "@angular/compiler": "^4.4.6",
    "@angular/core": "^4.4.6",
    "@angular/forms": "^4.4.6",
    "@angular/http": "^4.4.6",
    "@angular/platform-browser": "^4.4.6",
    "@angular/platform-browser-dynamic": "^4.4.6",
    "@angular/router": "^4.4.6",
    "angularfire2": "^5.0.0-rc.2",
    "firebase": "^4.5.0",
    "firebase-admin": "^5.4.2",
    "firebase-functions": "^0.7.2",
    "rxjs": "^5.4.2",
    "core-js": "^2.4.1",
    "zone.js": "^0.8.14",
    "express": "^4.16.2",
  },

我花了几个小时试图找出这个问题,但没有运气。 是否有人遇到此错误?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我知道您现在可能已经解决了这个问题,或者已经继续前进,但是对于像我这样遇到类似问题的其他人,这就是我解决的方法。 (请注意,我没有与您完全相同的问题,但也找不到gprc。)

我安装了一个名为reinstall的Node模块:

npm install reinstall -g

然后导航到functions目录,然后运行:

sudo reinstall

等待它完成,然后sudo firebase functions:shell工作正常!

请注意,我认为这可能会根据您的package.json的设置方式来更新您的依赖项,但是我的所有依赖项都使用了caret range,它只允许进行一些次要的和补丁更新。