Не удалось загрузить двоичный модуль gRPC (учебник по gRPC php) - PullRequest
0 голосов
/ 25 февраля 2019

Я работаю через Основы gRPC - учебник PHP .
У меня возникли проблемы при выполнении следующего шага:

$ cd ../../node
$ npm install
$ cd dynamic_codegen/route_guide
$ nodejs ./route_guide_server.js --db_path=route_guide_db.json

Вызывает следующее сообщение об ошибке:

throw error;
    ^

Error: Failed to load gRPC binary module because it was not installed for the current system
Expected directory: node-v57-linux-x64-glibc
Found: [node-v64-linux-x64-glibc]
This problem can often be fixed by running "npm rebuild" on the current system
Original error: Cannot find module '/home/vantage/grpc/examples/node/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-glibc/grpc_node.node'
    at Object.<anonymous> (/home/vantage/grpc/examples/node/node_modules/grpc/src/grpc_extension.js:53:17)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/vantage/grpc/examples/node/node_modules/grpc/src/client_interceptors.js:144:12)
    at Module._compile (module.js:652:30)

Кажется, что nodejs ищет 'node-v57-linux-x64-glibc', но находит 'node-v64-linux-x64-glibc'.Он находит файл, который поставляется с примерами gRPC../examples/node/node_modules/grpc/src/node/extension_binary/node-v64-linux-x64-glibc.Поэтому я думаю, что проблема с установкой моего узла.Я видел много похожих постов и пробовал многие из предложенных ответов безрезультатно.
Например:

npm rebuild

rm -rf node_modules
npm install

npm install --target=10.0.0 --target_platform=linux --target_arch=x64

Моя операционная система - «Ubuntu 18.04.1 LTS».Установка узла на моей машине с https://nodejs.org/en/download/ (бинарные файлы Linux (x64)).Я установил его, следуя инструкциям на https://github.com/nodejs/help/wiki/Installation.

Версия моего узла: v10.15.1

Информация о версии npm:

{ 'grpc-examples': '0.1.0',
  npm: '6.4.1',
  ares: '1.15.0',
  cldr: '33.1',
  http_parser: '2.8.0',
  icu: '62.1',
  modules: '64',
  napi: '3',
  nghttp2: '1.34.0',
  node: '10.15.1',
  openssl: '1.1.0j',
  tz: '2018e',
  unicode: '11.0',
  uv: '1.23.2',
  v8: '6.8.275.32-node.12',
  zlib: '1.2.11' }

Какое решение ?!

1 Ответ

0 голосов
/ 26 февраля 2019

Различные номера версий в сообщении об ошибке соответствуют версии «модуля» в предоставленной вами информации о версии.В этом конкретном случае пакет был установлен для узла 10, но сообщение об ошибке указывает, что вы загружаете его в узел 8. Если вы устанавливаете с целью 8.0.0 вместо 10.0.0, он должен работать.

...