根据您的设置,有一种可能的好方法。
npm package.json支持os键,
还有可选的Dependencies
os
可用于指定可以在其上安装模块的OS。optionalDependencies
是模块依赖性,如果无法安装它们,npm将跳过它们并继续安装。
这样,您就可以让模块对每个操作系统具有可选的依赖关系,并且只有可以运行的模块才能被加载/安装^。^
编辑: 正如@Sebastien在下面提到的, 这种方法很危险
。对于任何给定的OS,“必需”至少有一个依赖项,其余“可选”。将所有版本的依赖项设置为可选意味着,如果安装由于正当原因而失败,它将无提示地跳过安装,并且您将丢失真正需要的依赖项。



