h.l*_*l.m 12 r suppressmessage
这真的开始让我感到烦恼......我尝试了一些方法,但似乎都没有
我正在从一个函数运行一个安装,它生成了许多我想要抑制的不必要的消息,但我尝试这样做的所有方法都没有用.
我试图压缩的代码是:install_github('ROAUth', 'duncantl')它需要devtools事先加载包.
无论如何,我尝试了invisible,capture.output并且sink,没有一个工作...或者我可能没有正确使用它们......无论哪种方式......任何想法?
flo*_*del 10
suppressMessages将关闭一些消息(通过调用打印的消息message),但不是全部.
其余的消息来自R CMD INSTALL通过该system2功能的炮轰呼叫.我认为这是因为这是花了所有常见的东西你试过(sink,capture.output,等)不工作.请注意,system2功能配备stderr和stdout,如果转向参数FALSE将关闭所有的消息.不幸的是,system2使用stdout = ""和stderr = ""默认情况下似乎没有办法通过devtools包访问这些参数.
因此,我设法在没有任何消息的情况下运行的一种方法是临时覆盖system2基本环境中的函数.它不是特别优雅,但它的工作原理:
# store a copy of system2
assign("system2.default", base::system2, baseenv())
# create a quiet version of system2
assign("system2.quiet", function(...)system2.default(..., stdout = FALSE,
stderr = FALSE), baseenv())
# overwrite system2 with the quiet version
assignInNamespace("system2", system2.quiet, "base")
# this is now message-free:
res <- eval(suppressMessages(install_github('ROAUth', 'duncantl')))
# reset system2 to its original version
assignInNamespace("system2", system2.default, "base")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3605 次 |
| 最近记录: |