[英]Linux Node Module Version Mismatch
我是一個初學者,我想在樹莓派上運行Homebridge。 當我運行它時,我得到一個錯誤:
pi@raspberrypi:/ $ homebridge
/usr/lib/node_modules/homebridge/node_modules/mdns/lib/dns_sd.js:35
throw ex;
^
Error: The module '/usr/lib/node_modules/homebridge/node_modules/mdns/build/Release/dns_sd_bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 48. This version of Node.js requires
NODE_MODULE_VERSION 51. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or`npm install`).
at Object.Module._extensions..node (module.js:598:18)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/lib/node_modules/homebridge/node_modules/mdns/lib/dns_sd.js:24:20)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
其他博客文章表明此命令將解決此問題:
npm install --save-dev electron-rebuild
另外我也在這里得到一個錯誤:
npm WARN enoent ENOENT: no such file or directory, open '/package.json'
npm WARN !invalid#1 No description
npm WARN !invalid#1 No repository field.
npm WARN !invalid#1 No README data
npm WARN !invalid#1 No license field.
誰能提供任何建議? 將不勝感激。
干杯
由於所討論的文件以.node
結尾,因此它是節點運行時的二進制擴展,因此需要重新編譯以使用特定版本的節點。
解決此問題的第一步是詢問Homebridge的其他用戶如何解決它。
我的下一步將是cd /usr/lib/node_modules/homebridge/node_modules/mdns
並嘗試通過調用npm rebuild
來重建mdns
模塊(如錯誤消息中所述。)請注意,這假定您具有編譯所需的環境在您的Pi上(例如gcc,g ++,make,node-gyp等)
最后,我將通過運行 PI平台的交叉編譯器來研究重建所需的模塊。
另一個想法是將當前的node
安裝降級為electron-rebuild
模塊所需的版本。
而且,由於我不相信您正在使用electron
(我可能是錯的),因此您獲得關於安裝electron-rebuild
的建議是可疑的(我可能是錯的。)無論如何,安裝失敗,因為必須在與目錄相同的目錄中調用指定的npm命令。電子package.json
文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.