簡體   English   中英

如何為32位系統准備64位上的node.js模塊?

[英]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_64node_modules_32

問題與復制無關,這是因為您試圖運行在32位版本下使用64位Node版本編譯的程序包。

使用Ubuntu系統上相同位的Node編譯軟件包(您可以在64位OS上安裝32位Node), 然后將其復制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM