nodejs npm安装平台特定的包

时间:2016-06-24 20:15:57

标签: node.js npm

我的nodejs应用程序在Raspberry Pi上运行并使用SPI接口。 Windows上没有SPI。

我使用的npm包无法像我期望的那样在Windows上安装。 我想开发并在Windows上进行一些测试,但NPM失败了 加载此模块会强制执行太多手动变通办法。

我希望能够在何时安装SPI模块 NPM安装在Raspberry上运行并安装存根模块来伪造a Windows上的SPI。

在伪代码中:文件package.json

"dependencies-for-linux": { "pi-spi":  "~1.0.1"},
"dependencies-for-win": { "pi-spi": "./some_local_file_to_fake_pi_spi_api"}

另一种方法可能是在程序包失败时不中止安装。 替代的伪代码:file package.jon

"dependencies-that-do-not-fail-install" : { "pi-spi":  "~1.0.1"}

my_module.js

 var pi_spi = null
    try{
        pi_spi = require("pi-spi")
    }
    catch (e) {
        pi_spi = require("fake-pi-spi")

要么解决方案都很棒。 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用Node.js中的OS模块获取当前的os.arch(),它将返回'x64','arm'等...

您可以在my_module.js中使用它来查看需要的包。

https://nodejs.org/api/os.html