serialport для ошибки electron NODE_MODULE_VERSION и перестроение не исправляет

#node.js #electron #electron-rebuild

#node.js #electron #electron-перестроить

Вопрос:

ОС: win 10 Node.js : v12.18.3 electron: v10.1.1

версия для печати из js program: process.versions.узел 12.16.3 process.versions.modules 82

  1. установите serialport с помощью: npm install serialport

  2. запуск npm и ошибка получения:

Ошибка: модуль ‘?D:nodeTesternode_modules@serialportbindingsbuildReleasebindings.node ‘ был скомпилирован для другого Node.js версия, использующая NODE_MODULE_VERSION 72. Эта версия Node.js требуется NODE_MODULE_VERSION 82. Пожалуйста, попробуйте повторно скомпилировать или переустановить модуль (например, с помощью npm rebuild или npm install ).

  1. npm install —save-dev electron-rebuild .node_modules.binelectron-rebuild

Перестройка завершена

  1. запуск npm и снова ошибка.

Ошибка: модуль ‘?D:nodeTesternode_modules@serialportbindingsbuildReleasebindings.node ‘ был скомпилирован для другого Node.js версия, использующая NODE_MODULE_VERSION 72. Эта версия Node.js требуется NODE_MODULE_VERSION 82. Пожалуйста, попробуйте повторно скомпилировать или переустановить модуль (например, с помощью npm rebuild или npm install ).

Что следует заметить, так это то, что версии 12.18.3 и 12.16.3 имеют NODE_MODULE_VERSION 72. и ни одна версия не получает 82. Я не знаю, откуда берется ’82’. Как я могу это исправить? Спасибо.

Ответ №1:

Сегодня утром у меня была такая же проблема. После более чем 5 часов устранения неполадок единственное, что у меня получилось, это понизить electron-rebuild до версии v2.0.1. Я использую node v14.9.0 (последняя версия), electron v10.1.1 (последняя версия), serialport v9.0.1 (последняя версия)

Похоже, у них открыта проблема:https://github.com/electron/electron-rebuild/issues/404

Ответ №2:

у меня была та же проблема. Наконец, я могу решить это с помощью нескольких шагов. Вот они.

1. установите electron-rebuild

 npm install --save-dev electron-rebuild
  

2. Запустите какой-нибудь скрипт

В macOS запустите это

 ./node_modules/.bin/electron-rebuild
  

В Windows попробуйте:

 .node_modules.binelectron-rebuild.cmd
  

3. Добавьте сценарий запуска в package.json

 "rebuild": "electron-rebuild -f -w serialport"
  

4. Перестройте проект

 npm run rebuild
  

Я надеюсь, что это поможет вам. хорошего дня.