有没有办法在npm package.json文件中指定特定于操作系统的依赖项?
例如,如果用户正在运行Linux
,我只想将’dbus’(https://npmjs.org/package/dbus)安装为模块的依赖项。对于Mac和Windows,我会有不同的依赖关系。
根据您的设置,有一种可能的好方法。
npm package.json支持os键,
还有可选的Dependencies
os
可用于指定可以在其上安装模块的OS。optionalDependencies
是模块依赖性,如果无法安装它们,npm将跳过它们并继续安装。这样,您就可以让模块对每个操作系统具有可选的依赖关系,并且只有可以运行的模块才能被加载/安装^。^
编辑: 正如@Sebastien在下面提到的, 这种方法很危险
。对于任何给定的OS,“必需”至少有一个依赖项,其余“可选”。将所有版本的依赖项设置为可选意味着,如果安装由于正当原因而失败,它将无提示地跳过安装,并且您将丢失真正需要的依赖项。
问题内容: 我是CMAKE的初学者。下面是一个简单的cmake文件,在mingw环境窗口中效果很好。问题显然与我链接libwsock32.a的CMAKE函数有关。在Windows中,这行得通,我得到结果。 但是,正如预期的那样,在Linux中,将查找Linux OS上没有的遗嘱。 我的问题是:如何指示CMAKE避免在Linux OS中链接wsock32库??? 任何帮助将不胜感激。 我的简单CMa
Examining the File System Contents # os_listdir.py import os import sys print(sorted(os.listdir(sys.argv[1]))) # os_walk.py import os import sys # If we are not given a path to list, use /tmp if le
Windows之所以取得成功,主要在于它具有以下优点: 直观、高效的面向对象的图形用户界面,易学易用: 从某种意义上说,Windows用户界面和开发环境都是面向对象的。用户采用“选择对象-操作对象”这种方式进行工作。比如要打开一个文档,我们首先用鼠标或键盘选择该文档,然后从右键菜单中选择“打开”操作,打开该文档。这种操作方式模拟了现实世界的行为,易于理解、学习和使用。 用户界面统一、友好、漂亮:
问题内容: 我想用JUnit测试以下方法: 坦白说,我想出的唯一一件事就是基本上将相同的逻辑复制到测试中。当然,这可以防止方法被意外破坏,但是听起来有点违反直觉。 有什么更好的方法来测试此方法? 问题答案: 在单元测试中,您可以更改属性的值: 然后,您可以测试/调用您的方法以使用断言检查其返回的内容。 为了更容易设置System属性并在测试完成时取消设置该属性(从而促进测试隔离,自我约束),可以使
操作系统提供的服务 操作系统的五大功能,分别为:作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理 中断 所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类: 内部异常中断:由计算机硬件异常或故障引起的中断; 软中断:由程序中执行了引起中断的指令而造成
sed sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的