在 Electron 中使用 gRPC
Posted
技术标签:
【中文标题】在 Electron 中使用 gRPC【英文标题】:Using gRPC in Electron 【发布时间】:2017-03-09 00:46:21 【问题描述】:我正在尝试在电子应用程序中要求 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 install 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
但是当我运行应用程序时,我仍然收到错误。
【问题讨论】:
你解决过这个问题吗? 【参考方案1】:像这样重建grpc模块
npm install --save-dev electron-rebuild
(On Mac & Linux)
./node_modules/.bin/electron-rebuild
(On Windows)
.\node_modules\.bin\electron-rebuild.cmd
这将重建 GRPC,然后您就可以开始了。
【讨论】:
以上是关于在 Electron 中使用 gRPC的主要内容,如果未能解决你的问题,请参考以下文章
使用 Electron 在 Angular 2 应用程序中访问文件系统
在 Electron 应用程序中使用 console.log()
如何在 Electron 中使用 node_modules?
如何在 Electron 中使用 node_modules?