CRAN 包发布反馈:你向控制台写入无法轻易抑制的信息消息

CRAN package release feedback: You write information messages to the console that cannot be easily suppressed

我收到了 CRAN 关于包发布的反馈。

suppressed 是什么意思?

意见反馈:

您将无法轻易抑制的信息消息写入控制台。 如果您真的必须向控制台写入文本,则不要使用 print()/cat(),而是使用 message()/warning() 或 if(verbose)cat(..)(或者可能是 stop())。 (打印、摘要、交互功能除外)

我们看不到你的代码,因为你没有提供可重现的例子——所以我这边有一些猜测——但这可能意味着你有

print()
cat()

在你的代码中,正如文字所说。而不是 cat("Hello to my package\n") 你也可以说 packageStartupMessage("Hello to my package\n") 相应的函数 suppressPackageStartupMessages() 可以用来抑制。

例如:

> packageStartupMessage("Welcome to my package")  
Welcome to my package      
> suppressPackageStartupMessages(packageStartupMessage("Welcome ..."))    
>   

第二个被压制,第一个没有。您需要在您的包(或它使用的任何库)中找到打印到控制台的内容并进行更改。

同样,message()可以被抑制,warning()可以通过警告级别来控制。

r-package-devel 列表是解决这些问题的好地方,列表档案也会有这方面的例子。