在RStudio中,我试图提出一个软件包的新闻。尽管默认的utils::news()
可以在内置查看器中生成基本的R changelog,但我无法使它适用于特定的程序包。它抛出一个错误。该功能对于RGui中的特定程序包工作正常。
RStudio 1.2.1335中的新鲜R会话:
news() # this works
news(package = "ggplot2") # this doesn't
查看器出现错误:Error in UseMethod("toHTML") : no applicable method for 'toHTML' applied to an object of class "NULL"
RGui中的新R会话:
news()
news(package = "ggplot2") # both work perfectly
会话信息:
R version 3.6.0 (2019-04-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17134)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.6.0 tools_3.6.0 Rcpp_1.0.1 xml2_1.2.0 commonmark_1.7
如何在RStudio中无错误输出函数?如果无法做到这一点,如何在RStudio中运行该功能,但告诉它在查看器之外查看HTML,例如在RGui之类的浏览器中呢?
答案 0 :(得分:2)
这看起来像是RStudio的错误,因此最好的措施是将其报告给他们。解决方法是,通过更改options("browser")
的设置,可以避免使用其内置的浏览器。
例如,在RStudio之外的Mac上,我看到了
options("browser")
# $browser
# [1] "/usr/bin/open"
并在RStudio中运行
options(browser = "/usr/bin/open")
禁用内置浏览器。我不知道Windows上RGui的默认设置是什么,但是在RStudio中将其设置为与RGui相同的值应该可以使它工作。
不幸的是,这会禁用所有功能,而不仅限于news()
,因此您可能想要这样的东西:
save <- options(browser = "/usr/bin/open")
news(package = "ggplot2")
options(save)