首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase:如何修复错误: ENOENT:没有这样的文件或目录,请打开'node_modules/protobufjs/google/protobuf/api.proto‘

Firebase:如何修复错误: ENOENT:没有这样的文件或目录,请打开'node_modules/protobufjs/google/protobuf/api.proto‘
EN

Stack Overflow用户
提问于 2019-06-23 04:00:27
回答 1查看 2.8K关注 0票数 2

我们对云firestore进行如下查询:

代码语言:javascript
复制
 ` var meeting = await db.collection("meetings").where(
    "pin", "==", request.body.Digits).where(
    "status", "==", "in-progress").get()`

这在我们的本地机器上可以工作,但是当我们部署到EC2时失败。我们在这两个平台上都安装了Firestore客户端库,但我们在部署时使用了它。

这个错误特别令人费解,因为上面的代码段包装在try块中,但在该行抛出以下错误,而没有捕获到:

代码语言:javascript
复制
UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open 'node_modules/protobufjs/google/protobuf/api.proto'
    at Object.openSync (fs.js:431:3)
    at Object.readFileSync (fs.js:333:35)
    at fetch (/home/node/server/app.compiled.js:350251:34)
    at Root.load (/home/node/server/app.compiled.js:350285:13)
    at Root.loadSync (/home/node/server/app.compiled.js:350326:17)
    at Object.loadSync (/home/node/server/app.compiled.js:347406:17)
    at Object../node_modules/@grpc/proto-loader/build/src/index.js (/home/node/server/app.compiled.js:65075:37)
    at __webpack_require__ (/home/node/server/app.compiled.js:20:30)
    at Object.<anonymous> (/home/node/server/app.compiled.js:222521:25)
    at Object../node_modules/google-gax/build/src/grpc.js (/home/node/server/app.compiled.js:222775:30)
    at __webpack_require__ (/home/node/server/app.compiled.js:20:30)
    at Object../node_modules/google-gax/build/src/index.js (/home/node/server/app.compiled.js:222819:16)
    at __webpack_require__ (/home/node/server/app.compiled.js:20:30)
    at Object.<anonymous> (/home/node/server/app.compiled.js:44631:13)
    at Object../node_modules/@google-cloud/firestore/build/src/v1/firestore_client.js (/home/node/server/app.compiled.js:45987:30)
    at __webpack_require__ (/home/node/server/app.compiled.js:20:30)
(node:1) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)

我们已经尝试了几乎所有你能想到的东西,而没有实际改变查询--重新做package.json和我们的构建脚本,但是不能解决这个问题。有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2019-06-24 01:39:53

问题是Cloud Firestore的Node.js SDK使用gRPC进行通信,它构建在本机代码上,有几种方法可以解决这个问题,但我建议将您的应用程序停靠到像this这样的映像中

这个问题有点类似于在AWS lambda中运行sdk时的this one

希望这篇文章能为你指明方向

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56718738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档