Конфликт версии модуля узла при разработке пакета для Atom - PullRequest
0 голосов
/ 29 февраля 2020

Я разрабатываю свой первый пакет для Atom. Для этого мне нужен этот пакет nodegit ( здесь официальный сайт ).

Когда я пытаюсь запустить свой пакет, я получаю эту ошибку:

The module '/Users/danny/github/branch-control/node_modules/nodegit/build/Release   
/nodegit.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 69. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).

Я уже пытался искать в Интернете, но ни одно из найденных решений не решило мою проблему.

Я пытался с npm rebuild, npm rebuild nodegit, я пытался установить его с --update-binary, и я пытался с другим версии узла, но безуспешно.

Более того, в нем говорится NODE_MODULE_VERSION 69, но в версиях узла нет версии 69, она напрямую переходит от 64 до 72.

В Интернете я обнаружил, что это 69 относится к версии узла, которую использует электрон, но я думаю, что не могу изменить ее, потому что это версия, которую использует Atom.

Как я могу решить эту проблему и go на ?

Это мое окружение:

  • macOS Каталина 10.15
  • Атом 1.44.0
    • Электрон 4.2.7
    • Chrome 69
    • Узел 10.11.0

1 Ответ

1 голос
/ 29 февраля 2020

Для этого вам нужно использовать восстановление электронов .

Из README:

Этот исполняемый файл перестраивает собственные Node.js модули против версии Node.js, который использует ваш проект Electron. Это позволяет вам использовать собственные модули Node.js в приложениях Electron без совпадения вашей системной версии Node.js (что часто не соответствует действительности, а иногда даже невозможно).

...