Electron и couchbase: модуль был скомпилирован с другой версией node.js (победа) - PullRequest
1 голос
/ 27 февраля 2020

Вопрос:

Я пытаюсь использовать couchbase в электронном приложении, но не могу запустить электронное приложение, как только включаю модуль couchbase. Как я могу использовать couchbase с электроном?

Сообщение об ошибке:

C:\dev\app>npm start

> eej@1.0.0 start C:\dev\app
> electron .


App threw an error during load
Error: The module '\\?\C:\dev\app\node_modules\couchbase\build\Release\couchbase_impl.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 76. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at process.func (electron/js2c/asar.js:140:31)
    at process.func [as dlopen] (electron/js2c/asar.js:140:31)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1016:18)
    at Object.func (electron/js2c/asar.js:140:31)
    at Object.func [as .node] (electron/js2c/asar.js:140:31)
    at Module.load (internal/modules/cjs/loader.js:816:32)
    at Module._load (internal/modules/cjs/loader.js:728:14)
    at Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (electron/js2c/asar.js:717:26)
    at Module.require (internal/modules/cjs/loader.js:853:19)

Мой main.js файл начинается так:

const { app, BrowserWindow } = require('electron')
var couchbase = require('couchbase');

function createWindow () {

Что я уже пробовал:

  • удаление каталога node_modules, блокировка файла и переустановка с помощью npm i
  • , установка и запуск electron-rebuild
  • с использованием переключателя --update-binary, когда под управлением npm i
  • понижена версия npm до версии LTS

Справочная информация:

Версия узла:

PS C:\dev\app> node --version
v12.16.1
PS C:\dev\app> electron --version
v8.0.1

Электрон использует узел 12.13.0:

We are using node 12.13.0, Chrome 80.0.3987.86, and Electron 8.0.1.

Версия электронного узла и автономного узла различаются. Я не уверен, что это нормально?!

Содержимое моего package.json файла:

{
  "name": "app",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "couchbase": "^3.0.0",
    "electron": "^8.0.1",
    "electron-rebuild": "^1.10.0"
  },
  "dependencies": {
    "node-gyp": "^6.1.0"
  }
}

Подобные вопросы:

...