【问题标题】:Package-specific utils::news() not working in RStudio特定于包的 utils::news() 在 RStudio 中不起作用
【发布时间】:2019-05-23 08:20:31
【问题描述】:

我正在尝试在 RStudio 中为一个包提供新闻。虽然默认 utils::news() 用于在内置查看器中生成基本 R 更改日志,但我无法让它适用于特定包;它抛出一个错误。该功能适用​​于 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 这样的浏览器中?

【问题讨论】:

    标签: r rstudio


    【解决方案1】:

    这看起来像一个 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)
    

    【讨论】:

    • 您的解决方案适用于 Windows,因此我将其标记为已解决,谢谢。然而,我发现了另外一些奇怪的事情:在切换到 Mac 后,任何在 NEWS.md 中包含其新闻的包都会返回 NULLnews(package = "thatpackage")。确实,news 的文档不包括 NEWS.md 文件在它能够处理 Mac 上 的扩展名中,但在 Windows 上,只要你有 commonmarkxml2安装。在 Mac 上尝试具有原始 NEWS 文件的包(例如 corrplot)可以工作。
    • 我认为ggplot2 使用NEWS.md,它适用于我的Mac。我确实需要安装commonmark 包,并且我已经安装了xml2。我忘记了提示安装commonmark 的消息是什么。
    猜你喜欢
    • 1970-01-01
    • 2020-10-06
    • 2018-11-24
    • 2020-10-19
    • 2023-03-10
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多