安装了 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_modules
和package-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
答案 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并且运行时不匹配 尝试加载模块。
所以,我要做的是解决
安装目标为4.0.0的gRPC
npm install grpc --runtime = electron --target = 4.0.0