[英]How to prepare node.js modules on 64bit for 32bit system?
我正在64位Ubuntu計算機上開發一個node.js應用程序,該計算機打算在運行Rasbpian的Raspberry Pi上運行。 Pi通常不連接到Internet,因此我將項目文件夾手動復制到其SD卡。 我無法在那里運行該應用程序,因為必需的模塊之一epoll
顯然僅適用於64位:
錯誤:/home/pi/bla/node_modules/epoll/build/Release/epoll.node:錯誤的ELF類:ELFCLASS64
在Object.Module._extensions..node(module.js:602:18)
在module.load(module.js:507:32)在tryModuleLoad(module.js:470:12)
在Function.Module._load(module.js:462:3)
在Module.require(module.js:517:17)
在要求時(internal / module.js:11:18)
在綁定(/home/pi/bla/node_modules/bindings/bindings.js:76:44)
在對象。 (/home/pi/bla/node_modules/epoll/epoll.js:1:99)
在Module._compile(module.js:573:30)
在Object.Module._extensions..js(module.js:584:10)
可以通過運行npm uninstall epoll
然后npm install epoll
,但npm install epoll
是將Pi連接到互聯網。 當然,我不能復制此特定模塊,但是有辦法避免這種錯誤嗎?
如果安裝時沒有Internet連接,則唯一的方法是事先准備32位和64位node_modules。 首次啟動時,只需檢查您的CPU並將node_modules
符號鏈接到node_modules_64
或node_modules_32
。
問題與復制無關,這是因為您試圖運行在32位版本下使用64位Node版本編譯的程序包。
使用Ubuntu系統上相同位的Node編譯軟件包(您可以在64位OS上安裝32位Node), 然后將其復制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.