npm 的os 以及cpu 是一个很不错的功能可以实现灵活的包在特定操作系统的运行,尤其我们开发基于node addon 的扩展的时候
napi.rs 做的就比较好,提供了比较完整的工程化实践

os 参考使用

  • 配置
    指定运行的操作系统,比如以下的是运行在mac 以及linux 上,同时也支持一个取反操作

 


{
  "os": [
    "darwin",
    "linux"
  ]
}
"os": [

cpu 参考使用

指定运行的cpu,与os 类似也提供了取反操作

  • 配置
{
  "cpu": [
    "x64",
    "ia32"
  ]
}
"cpu": [

说明

os 以及cpu 是一个很方便的功能,可以实现灵活的运行版本控制,目前cube.js 是在安装的是否自己下载特定平台的node addon,这种方法
对于实际运行并不是特别的好,反而是提供独立的包会比较方便

参考资料

https://docs.npmjs.com/cli/v10/configuring-npm/package-json#os
https://napi.rs/docs/cli/build
https://napi.rs/docs/introduction/getting-started
https://github.com/cube-js/cube/releases/tag/v0.34.6
https://github.com/cube-js/post-installer