2016-08-23 2 views
2

Я использую Electron модуль MDNS, и я получаю эту ошибку модуль узла UninstalledНесоответствие версии модуля. Ожидаемое 49, получил 48

A JavaScript error occurred in the main process 
Uncaught Exception: 
Error: Module version mismatch. Expected 49, got 48. 
    at Error (native) 
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:167:20) 
    at Object.Module._extensions..node (module.js:568:18) 
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:167:20) 
    at Module.load (module.js:458:32) 
    at tryModuleLoad (module.js:417:12) 
    at Function.Module._load (module.js:409:3) 
    at Module.require (module.js:468:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/home/ingsaurabh/dp/node_modules/mdns/lib/dns_sd.js:24:20) 

и переустанавливать, но не работает

ответ

1

Поскольку mdns содержит собственный модуль Node вы должны восстановить его для таргетинга на вашу версию Electron, есть a couple of ways to do this. Я бы предложил использовать подход electron-rebuild.

1

Это хорошо известно при обновлении версии узла. Например: вы используете Node, например, версию 5. Вы добавляете в свой проект несколько библиотек, создаете и запускаете их. Все ваши библиотеки будут скомпилированы под узлом версии 5.

И затем вы обновляете свой узел, например, до версии 6. И затем вы запускаете некоторые команды, которые используют узел, например, проверку запуска npm. Проблема здесь: вы используете новую версию узла для запуска библиотек, скомпилированных более старым узлом.

Решая это легко с помощью 2-х следующих команд:

rm -rf node_modules // force remove node_modules directory 
npm install   // install again all libraries. Libraries will be compiled again with node version 6 

Так что это общий метод применяется для всех яваскрипта структур, а не только electron ...

Смежные вопросы