有没有办法在npm包中指定特定于操作系统的依赖项.json文件?
例如,如果用户正在运行Linux,我只想将"dbus"(https://npmjs.org/package/dbus)作为模块的依赖项安装.我会对Mac和Windows有不同的依赖.
有没有办法在npm包中指定特定于操作系统的依赖项.json文件?
例如,如果用户正在运行Linux,我只想将"dbus"(https://npmjs.org/package/dbus)作为模块的依赖项安装.我会对Mac和Windows有不同的依赖.
根据你的设置,有一种可能的好方法.
npm包.json支持os键,
os
可用于指定模块可安装在哪个操作系统上.optionalDependencies
是模块依赖项,如果无法安装,npm将跳过它们并继续安装.通过这种方式,你可以让你的模块对每个操作系统都有一个可选的依赖项,并且只有一个有效的操作系统才会被加载/安装^^
EDIT:正如@Sebastien在下面提到的,this approach is dangerous.