【问题标题】:Is there a function to check if a package installed with devtools::install_github has been updated?是否有检查使用 devtools::install_github 安装的软件包是否已更新的功能?
【发布时间】:2016-03-23 14:50:44
【问题描述】:

我是存储在 github 上的一个包的作者。我的同事使用devtools::install_github() 安装此软件包。他们想测试软件包是否已更新。是否有一个功能可以检查自他们上次安装包以来是否有提交到 github master 分支?

【问题讨论】:

    标签: r devtools


    【解决方案1】:

    这是我知道的一种间接方法 然后你可以通过packageVersion()找到你安装的版本

    有一个可用的包,名称为versions。 功能available.versions() 可以帮助你。 这将为您找到所有可用的软件包版本。

    packageVersion("ggplot2")
    #[1] ‘1.0.1’
    
    available.versions("ggplot2")
    
    #$ggplot2
    #   version       date available
    #1    1.0.1 2015-03-17      TRUE
    #2    1.0.0 2014-05-21     FALSE
    #3  0.9.3.1 2013-03-02     FALSE
    ...
    

    更新:

    devtools 具有函数package_deps() 和dev_package_deps()。

    package_deps("ggplot2")
    
    # Needs update -----------------------------
    # package      installed available
    # ggplot2      2.0.0     2.1.0    
    # scales       NA        0.4.0   
    
    ?package_deps
    "Find all dependencies of a CRAN or dev package."
    

    {此功能未经我的开发包测试。但是我相信这应该可以完成您的工作。}

    【讨论】:

    • 谢谢,这听起来是个不错的工具。 versions::available.versions() 将“列出所有上载到 CRAN 的命名包的过去版本”。所以这不适用于从 Github 安装的包。
    • @PaulRougieux 添加了更新。希望它对你有帮助。如果没有,请告诉我。
    • 如何为 github 存储库指定 dev_package_deps()repo 参数?例如ggplot2.
    • 例如安装软件包后,尝试package_deps("rNVD3", repos = "ramnathv/rNVD3")
    • package_deps("ggplot2", repos = "hadley/ggplot2") 不检查github 上的"hadley/ggplot2" 存储库,它只返回"Not on CRAN ----"。而package_deps("ggplot2") 告诉我需要根据 CRAN 上可用的信息更新的包。我在?dev_package_deps 中不清楚的是“开发”包是什么意思?我猜这是您在系统上开发的包,而不是托管在 github 上的包。
    猜你喜欢
    • 2013-03-24
    • 2021-03-08
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 2017-10-31
    • 1970-01-01
    相关资源
    最近更新 更多