5

我试图在电子应用程序中要求 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

但是当我运行该应用程序时,我仍然收到错误消息。

4

1 回答 1

4

像这样重建grpc模块

npm install --save-dev electron-rebuild

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

这将重建 GRPC,一切顺利。

于 2017-07-21T15:26:26.117 回答