如何为32位系统准备64位的node.js模块?
我正在64位Ubuntu机器上开发node.js应用程序,我打算在运行Rasbpian的Raspberry Pi上运行。Pi通常不连接到internet,所以我手动将项目文件夹复制到它的SD卡上。我无法在那里运行应用程序,因为其中一个必需的模块,如何为32位系统准备64位的node.js模块?,node.js,ubuntu,raspbian,Node.js,Ubuntu,Raspbian,我正在64位Ubuntu机器上开发node.js应用程序,我打算在运行Rasbpian的Raspberry Pi上运行。Pi通常不连接到internet,所以我手动将项目文件夹复制到它的SD卡上。我无法在那里运行应用程序,因为其中一个必需的模块,epoll,显然只适用于64位: 错误:/home/pi/bla/node_模块/epoll/build/Release/epoll.node:错误 ELF类:ELF类64 在Object.Module.\u extensions..节点(Module.
epoll
,显然只适用于64位:
错误:/home/pi/bla/node_模块/epoll/build/Release/epoll.node:错误
ELF类:ELF类64
在Object.Module.\u extensions..节点(Module.js:602:18)
在Module.load处(Module.js:507:32)在tryModuleLoad处(Module.js:470:12)
在Function.Module.\u加载(Module.js:462:3)
at Module.require(Module.js:517:17)
根据需要(内部/module.js:11:18)
at绑定(/home/pi/bla/node_modules/bindings/bindings.js:76:44)
反对。(/home/pi/bla/node_modules/epoll/epoll.js:1:99)
在模块处编译(Module.js:573:30)
在Object.Module.\u extensions..js(Module.js:584:10)
可以通过运行
npm uninstall epoll
然后npm install epoll
来修复此问题,但仅当Pi连接到internet时。当然,我不能复制这个特定的模块,但是有没有其他方法可以避免这个错误?如果您在安装时没有internet连接,那么唯一的方法就是预先准备32位和64位node_模块。在首次启动时,只需检查您的CPU并将节点模块
符号链接到节点模块(u 64
或节点模块(u 32)
如果您在安装时没有internet连接,那么唯一的方法就是预先准备32位和64位节点模块。在第一次启动时,只需检查您的CPU,并将node\u modules
符号链接到node\u modules\u 64
或node\u modules\u 32
问题与复制无关,因为您试图在32位版本下运行使用64位节点版本编译的包
在Ubuntu系统上使用相同的节点位编译软件包(您可以在64位操作系统上安装32位节点),然后将其复制过来。问题与复制无关,因为您试图在32位版本下运行使用64位节点版本编译的软件包
在Ubuntu系统上使用相同的Node位编译软件包(你可以在64位操作系统上安装32位Node),然后复制它们。是的,我不认为复制过程会导致问题;但我不知道如何在64位系统上安装32位节点模块。我修改了题目。谢谢@您应该安装speedymcs,它非常简单,如
nvm use 32
是的,我不认为复制过程会导致问题;但我不知道如何在64位系统上安装32位节点模块。我修改了题目。谢谢@您应该安装speedymcs,它只需nvm use 32