Как установить gRPC для электронной версии 4.0.x - PullRequest
2 голосов
/ 13 марта 2019

Установлено electron@4.0.0 (также пробовал @ 4.0.7) и установлено grpc и @ grpc / proto-loade r.Когда я запускаю электрон, я получаю ошибку времени выполнения

Uncaught Error: не удалось загрузить двоичный модуль 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_modules и package-lock.json, а затем переустанавливаю npm install, я получаю сообщение об успехе (не обращайте внимания на версию, я смотрю, мои версии совпадают), которая выглядит как "отсутствующий "модуль был установлен

node-pre-gyp ПРЕДУПРЕЖДЕНИЕ Использование запроса на загрузку узла-pre-gyp https [grpc]

Success:" /../electron/node_modules/grpc / src / node / extension_binary / node-v64-darwin-x64-unknown / grpc_node.node "устанавливается через удаленный

protobufjs@6.8.8 postinstall /../electron/node_modules/protobufjs сценарии узла /postinstall

electron@4.0.8 postinstall /../electron/node_modules/electron узел install.js

1 Ответ

0 голосов
/ 13 марта 2019

Я нашел ответ здесь: https://github.com/grpc/grpc-node/issues/762

Тем не менее, решение, которое я попробовал, - это решение, которое мне было нужно.Не уверен, что сначала я делал что-то не так!

Для будущих пользователей Google сводка такова:

Модуль grpc_node, похоже, скомпилирован для NODE_MODULE_VERSION = 64, но для Electron 4 начиная с 4.0.4 переключился ... на указание NODE_MODULE_VERSION = 69, и во время выполнения попытки загрузки модуля возникли несоответствия.

Итак, что я сделал, чтобы решить, был

  • Клонэлектронное быстрое начало репо
  • Удалите версию электрона, которая пришла с быстрым стартом
  • Установите электрон@4.0.0
  • Установите gRPC с целью 4.0.0

    npm install grpc --runtime = электрон --target = 4.0.0

...