我的R包的依赖项之一显示启动消息加载时。我想禁止这些启动消息。
到目前为止,我发现的唯一的修复是从我的DESCRIPTION文件中的Depends:行中删除违规的包。然后在我的包的.onLoad中调用suppressPackageStartupMessages(require(“offendingPackage”))。
我宁愿保持冒犯的包作为我的Depends的一部分,但似乎在depends中指定的任何内容是自动加载,因此不能被压制。
谢谢,
缺口
如果使用命名空间,可以在Imports中指定包,并使用import或importFrom加载必要的函数。这样,不附加软件包,但是您的软件包可以加载和使用必要的功能。不附加,不提供启动消息,因此此方法确保您不会看到任何在Imports中指定的包的启动消息。
确保您检查是否导入了重要的一切。如果你导入的包依赖于其他包,我不确定你需要使用这些功能的一切是导入。你可能需要做一些困惑,得到你需要加载的一切。在正面,使用导入确保任何依赖性检查将正确执行。
另一个选项是不在Depends中指定包,而是在DESCRIPTION文件中的Suggests中指定包,并使用@Dirk给您的选项。如果在install.packages()中设置了’dependencies = TRUE’,这将提供正确的依赖性检查。但我个人认为使用命名空间是一个更干净。