【问题标题】:update packages installed from github更新从 github 安装的软件包
【发布时间】:2015-03-12 12:14:53
【问题描述】:

我正在使用越来越多的从 github 安装的开发包。

我发现自己想知道是否有一种简单的方法可以更新这些软件包? 本质上是在寻找类似 @​​987654325@ 的东西,相当于 install_github()(或者实际上是 CRAN 以外的任何其他 repo)。

R-forge 的类似问题有一些想法:

Automatically update packages installed from R-forge

也许最好的方法是将开发包安装在它们自己的单独目录中:

How to specify lib directory when installing development version R Packages from github repository

在安装包时保留它们的标签,并尝试定期重新安装列表。

有什么想法吗?

【问题讨论】:

  • 我的 dtupdate 包可以帮助解决这个问题。
  • 一般来说,这很困难,因为CRAN 是一个单一的存储库,而github 是一万亿个独立的存储库。这就是为什么你需要像@hrbrmstr 所指的东西。至于如果github 包具有CRAN 依赖项会发生什么,我不知道:-)
  • 好的,这个包做得很好!我特别喜欢 whats_new() 功能来检查更新是否值得冒险?我认为是因为软件包只是通过github_install()CRAN 重新安装,并且确实处理了其他依赖项?
  • @hrbrmstr 你能回答吗?
  • 您还可以通过来自 Dirk Eddelbuettel 的drat package 将 github 存储库添加为 drat-repository。之后你就可以使用 update.packages() 了

标签: r github devtools


【解决方案1】:

您可以再次调用 install_github 以获取最新版本的软件包。

【讨论】:

  • 我认为这不能像几个 cmets 那样回答 OP 的问题。
【解决方案2】:

有很多包可以做到这一点:

@hrbrmstr 推荐 dtupdate

@jeborsel 建议通过来自 Dirk Eddelbuettel 的drat package 添加一个 github 存储库作为 drat-repository。这将让您在其上使用 update.packages()

【讨论】:

    【解决方案3】:

    您可以使用pacman 包来安装和加载托管在 GitHub 上的包的当前版本:

    pkg = c('andschar/dbreport', 'Rdatatable/data.table')
    pacman::p_load_current_gh(char = pkg)
    

    【讨论】:

      猜你喜欢
      • 2020-11-24
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多