Node.js 节点和CPU体系结构

Node.js 节点和CPU体系结构,node.js,npm,cpu-architecture,Node.js,Npm,Cpu Architecture,我有一个节点应用程序,它将在一个带有ARM CPU的小型触摸屏设备上运行。这个应用程序本身非常简单。我从syslog读取数据,如果另一个进程发现包含某些特定数据的日志条目,则向其发送ipc消息 我关心的是,在运行在不同体系结构上的构建机器上安装npm依赖项,然后将其复制到ARM设备上,是否会出现任何问题。构建机器可能是64位Mac或Linux机器 当我在mac上运行npm install,然后将生成的node\u modules文件夹复制到ARM设备上时,应用程序似乎工作正常。然而,我为这台AR

我有一个节点应用程序,它将在一个带有ARM CPU的小型触摸屏设备上运行。这个应用程序本身非常简单。我从
syslog
读取数据,如果另一个进程发现包含某些特定数据的日志条目,则向其发送ipc消息

我关心的是,在运行在不同体系结构上的构建机器上安装npm依赖项,然后将其复制到ARM设备上,是否会出现任何问题。构建机器可能是64位Mac或Linux机器

当我在mac上运行
npm install
,然后将生成的
node\u modules
文件夹复制到ARM设备上时,应用程序似乎工作正常。然而,我为这台ARM设备编写了电子应用程序,要求我们使用的目标架构为

--platform=linux --arch=armv7l
让它运行。在这种情况下,只需在mac上安装
node_模块
,然后将其复制过来,是行不通的


那么有什么区别呢?是使用electron本身需要特定于平台的构建,还是我正在编写的新应用程序可能会遇到其他问题?

您可以通过执行以下命令来查找特定于平台的文件:

find node_modules-name“*.node”| xargs文件

这取决于依赖关系。他们中的任何一个做任何特定于平台的事情,使用本机二进制文件等吗?如果所有依赖项都是纯javascript而不是特定于平台的,那么它可能会工作。如果您的依赖项是特定于平台的,或者需要一些本机组件(例如安装时由node gyp构建),那么它将不起作用。谢谢。它确实可以找到
node\u modules/fsevents/fsevents.node:Mach-O 64位bundle x86\u 64
,出于某种原因,它与
mocha
单元测试库关联。我想,
节点ipc
模块中会包含特定于平台的内容,但我想不会。¯\_(ツ)_/¯