特定于软件包的utils :: news()在RStudio中不起作用

时间:2019-05-23 08:20:31

标签: r rstudio

在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之类的浏览器中呢?

1 个答案:

答案 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)