为不同的体系结构安装node.js包

时间:2014-07-25 17:46:16

标签: npm

我需要安装用于不同目标架构(Linux x64)的npm软件包,而不是从(Windows x86)运行npm的机器。有没有办法告诉npm install下载适用于其他操作系统/架构的软件包?

1 个答案:

答案 0 :(得分:6)

大多数本机节点模块使用node-pre-gyp,它使用安装脚本搜索OS / arch / v8 ABI组合的预构建二进制文件,如果没有,则回退到本机版本。

假设您的原生模块使用node-pre-gyp,您可以这样做:

npm i --target_arch=x64 --target_platform=linux

您会在输出中看到类似的内容:

> bcrypt@1.0.3 install /home/user/myProject/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

[bcrypt] Success: "/home/user/myProject/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote

如果找不到预建的二进制文件,node-pre-gyp将回退到尝试从源代码构建模块。

如果预先构建的模块不可下载,那么还有一种方法可以构建&从你自己的镜子托管他们,但这是一个不同的问题:)