如何为电子版本4.0.x安装gRPC

时间:2019-03-13 14:35:30

标签: node.js electron grpc

安装了 electron@4.0.0 (也尝试了@ 4.0.7),并安装了 grpc @ grpc / proto-loade r。当我启动电子版时,我会遇到运行时错误

  

未捕获的错误:由于未为当前系统安装gRPC二进制模块,因此无法加载它       预期目录:electron-v4.0-darwin-x64-未知       找到:[node-v64-darwin-x64-unknown]       通常可以通过在当前系统上运行“ npm rebuild”来解决此问题

我当然尝试运行建议的解决方案npm rebuild,但这并不能解决问题。我也尝试过重建grpc模块

npm rebuild grpc --build-from-source --runtime=electron --target=4.0.0 --target_archx64 --dturl=https://atom.io/download/electron

我尝试卸载所有内容并从头开始。我们正在克隆电子快速入门仓库,因此在克隆并安装模块后,我安装了针对特定版本的grpc

npm install grpc --runtime=electron --target=<electron version>

哪个导致了相同的错误,所以我尝试重建

npm install --save-dev electron-rebuild // to rebuild grpc module

如果我删除node_modulespackage-lock.json,然后重新安装npm install,我会收到一条成功消息(不注意版本,我在看我的版本是匹配),看起来已安装了“缺少”模块

  

node-pre-gyp WARN使用对node-pre-gyp的请求https下载   [grpc]

     

成功:“ /../ electron / node_modules / grpc / src / node / extension_binary / node-v64-darwin-x64-unknown / grpc_node.node”通过远程安装

     

protobufjs@6.8.8安装后/../electron/node_modules/protobufjs   节点脚本/后安装

     

electron@4.0.8安装后/../electron/node_modules/electron   节点install.js

1 个答案:

答案 0 :(得分:0)

我在这里找到了答案: https://github.com/grpc/grpc-node/issues/762

仍然,我尝试的解决方案是我需要的解决方案。不确定最初我在做什么错!

对于未来的Google员工,摘要如下:

  

grpc_node模块似乎针对NODE_MODULE_VERSION = 64进行了编译,   但是从4.0.4版本开始的Electron 4切换到...   指定NODE_MODULE_VERSION = 69并且运行时不匹配   尝试加载模块。

所以,我要做的是解决

  • 克隆电子快速启动仓库
  • 卸载快速入门随附的电子版本
  • 安装electron@4.0.0
  • 安装目标为4.0.0的gRPC

    npm install grpc --runtime = electron --target = 4.0.0