node.js – 在Electron中使用gRPC

我试图在电子应用程序中要求grpc,但我收到以下错误:

Error: dlopen(/srv/node_modules/grpc/src/node/extension_binary/grpc_node.node,1): Symbol not found: _GENERAL_NAME_free
  Referenced from: /srv/node_modules/grpc/src/node/extension_binary/grpc_node.node
  Expected in: flat namespace

我正在使用OSX Sierra 10.12.1,节点6.8.1,电子1.4.4和grpc 1.0.1-pre1.

我升级了xcode命令行工具并进行了brew安装openssl –force.

我建立了二进制文件:

LDFLAGS=-L/usr/local/opt/openssl/lib CPPFLAGS=-I/usr/local/opt/openssl/include ./node_modules/.bin/electron-rebuild

并手动:

LDFLAGS=-L/usr/local/opt/openssl/lib CPPFLAGS=-I/usr/local/opt/openssl/include HOME=~/.electron-gyp node-pre-gyp rebuild --target=1.4.4 --arch=x64 --dist-url=https://atom.io/download/atom-shell

但是当我运行应用程序时,我仍然得到错误.

解决方法

像这样重建grpc模块

npm install --save-dev electron-rebuild

(On Mac & Linux)
./node_modules/.bin/electron-rebuild
(On Windows)
.\node_modules\.bin\electron-rebuild.cmd

这将重建GRPC,你很高兴.

相关文章

gRPC 前言 为什么使用gRPC 传输协议 传输效率 性能消耗 gRPC...
参考文章: 1. https://www.cnblogs.com/kaixinyufe...
今天给大家翻译一篇由ASP.NET首席开发工程师 "Jame...
上一篇文章我带着大家体验了一把《 "ASP.NET Core ...
早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着...
这篇笔记主要是记录学习历程而不是怎么用~,以及protobuffe...