Versión del módulo no coincide. Esperaba 49, obtuve 48

Estoy usando mdns de módulo de Electron y recibo este error

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. (/home/ingsaurabh/dp/node_modules/mdns/lib/dns_sd.js:24:20) 

Módulo de nodo desinstalado y reinstalado, pero no funciona.

Dado que mdns contiene un módulo Node nativo, debe reconstruirlo para que se mdns a su versión de Electron, hay mdns formas de hacerlo . Yo sugeriría usar el enfoque de electron-rebuild .

npm rebuild –runtime = electron –target = 1.3.4 –disturl = https://atom.io/download/atom-shell –abi = 50

en tu caso debe ser 49

Este es un problema bien conocido cuando se actualiza la versión del nodo. Por ejemplo: está utilizando Node, por ejemplo, la versión 5. Agregue algunas bibliotecas dentro de su proyecto, compile y ejecute eso. Todas sus bibliotecas serán comstackdas bajo el nodo versión 5.

Y luego actualiza su nodo, por ejemplo, a la versión 6. Y luego ejecuta algunos comandos que usan node, por ejemplo, npm run test. El problema está aquí: utiliza una versión de nodo más reciente para ejecutar bibliotecas comstackdas por un nodo anterior.

Resolver esto es fácil con 2 comandos siguientes:

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

Así que este es un método general que se aplica a todos los marcos de javascript, no solo electron