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

问题描述 投票:2回答:1

安装了[email protected](也尝试了@ 4.0.7)并安装了grpc和@ grpc / proto-loader。当我发射电子时,我得到一个运行时错误

未捕获错误:无法加载gRPC二进制模块,因为它没有为当前系统安装预期目录:electron-v4.0-darwin-x64-unknown发现:[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”

[email protected] postinstall /../electron/node_modules/protobufjs节点脚本/ postinstall

[email protected] postinstall /../electron/node_modules/electron node install.js

node.js electron grpc
1个回答
0
投票

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

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

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

grpc_node模块似乎是针对NODE_MODULE_VERSION = 64编译的,但是自4.0.4切换到电子4 ...指定NODE_MODULE_VERSION = 69并且在运行时尝试加载模块时不匹配。

所以,我要解决的是

  • 克隆电子快速启动回购
  • 卸载快速启动时附带的电子版本
  • 安装[email protected]
  • 将目标gRPC安装到4.0.0 npm install grpc --runtime = electron --target = 4.0.0
© www.soinside.com 2019 - 2024. All rights reserved.