2016-08-23 80 views
2

我使用的電子模塊MDNS和我收到此錯誤模塊版本不匹配。預計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包含本地節點模塊中,你必須重建它以您的Electron版本爲目標,有a couple of ways to do this。我建議使用electron-rebuild的方法。

1

當升級節點版本時,這是衆所周知的問題。例如:您使用的是Node,例如版本5.您在項目中添加一些庫,生成並運行它。所有庫都將在節點版本5下進行編譯。

然後將節點升級到版本6.然後運行一些使用節點的命令,例如npm run test。問題在於:您使用較新的節點版本來運行由舊節點編譯的庫。

解決這是很容易通過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 

所以這是一個通用的方法適用於所有的JavaScript框架,不僅electron ...