node.js - 缺少 node-v59-linux-x64/grpc_node.node

标签 node.js firebase github npm grpc

我正在尝试在我的服务器中使用 Firebase admin SDK。部署时出现错误,我在 firebase-admin node_module 映射中缺少文件 node-v59-linux-x64/grpc_node.node。我在我的包中添加了“grpc”:“1.7.1”,但在 NPM 更新后我仍然没有得到那个文件。我得到一个旧版本,node-v57。我还检查了这条路径 https://registry.npmjs.org/grpc/-/grpc-1.7.1.tgz ,但我找不到该文件。我删除了我的 node_modules 映射并再次运行 npm install,仍然没有 node-v59。

我如何/在哪里可以下载该文件?有没有人可以把文件放在这里,这样我就可以手动添加了?

Error: Cannot find module '/data/app/node_modules/grpc/src/node/extension_binary/node-v59-linux-x64/grpc_node.node'

最佳答案

这种问题通常是由于在一个系统上安装库,然后在需要不同二进制文件的不同系统上部署和运行它引起的。

解决此问题的最简单方法是在部署后在您部署的系统上运行 npm rebuild

或者,如果 npm rebuild 不是一个选项,您可以通过运行带有一些额外选项的 npm install 为您正在部署的系统预安装二进制文件。 --target 参数允许您安装不同版本的 Node。 --target=9.0.0 的参数安装 Node 9 的二进制文件(只有主要版本必须匹配)。 --target_platform 参数允许您为特定操作系统安装:windowslinuxdarwin(苹果)。 --target_arch 参数允许您安装不同的处理器架构:ia32x64arm。最后,--target_libc 参数允许您选择为不同的 libc 构建的二进制文件:glibcmusl(对于 Alpine Linux)。

因此,在您的情况下,您应该能够通过运行来获取该二进制文件

npm install --target=9.0.0 --target_platform=linux --target_arch=x64

关于node.js - 缺少 node-v59-linux-x64/grpc_node.node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47337351/

相关文章:

firebase - 我们可以从 Blaze 计划返回到 Spark 计划吗?

swift - Firebase Firestore 不更新电子邮件验证状态

git - 如何确定 git pull 将下载多少数据?

git - 更新被拒绝是因为你当前分支的提示落后了?

Git commit 显示总文件替换而不是逐行更改

javascript - 从 Angular Controller 发布到 Node

node.js - MongoDB、Mongoose 查找所有 _id 等于数组中对象键的位置

javascript - 如何使请求中的授权 header 过期?

node.js - npm ffmpeg-binaries 安装失败

javascript - 表的 Firebase child_changed