更新从Github安装的软件包。

26

我越来越多地使用从Github安装的开发包。

我在想是否有一种简单的方法可以更新这些包?实际上,我正在寻找类似于 update.packages() 的东西,对于 install_github() (或者任何其他仓库),都适用。

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

自动更新从R-forge安装的软件包

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

如何在安装来自Github存储库的开发版本R包时指定lib目录

保持对已安装软件包的跟踪,并定期尝试重新安装列表。

您有什么想法吗?


12
我的dtupdate软件包可以帮助实现这一点。 - hrbrmstr
总的来说,这很困难,因为CRAN是一个单一的存储库,而github则是数万个独立的存储库。这就是为什么你需要像@hrbrmstr所提到的那样的东西。至于如果github包有CRAN依赖关系会发生什么,我不知道 :-) - Carl Witthoft
好的,那个软件包非常好用!我特别喜欢 whats_new() 功能,可以查看更新是否值得冒险?我认为因为软件包只是通过 github_install()CRAN 和其他依赖项重新安装,所以这些都会被处理好? - carnust
4
@hrbrmstr,你能把那个转化为答案吗? - Thomas
3
你可以使用 Dirk Eddelbuettel 的 drat package 将 GitHub 存储库添加为 drat-repository。之后,你可以在其上使用 update.packages()。 - jeborsel
我通常使用Git Bash更新包含所有最新提交的软件包。您可以在https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf找到一份有用的Git Bash命令列表。 - Raj Padmanabhan
3个回答

6

有许多软件包可以做到这一点:

@hrbrmstr 推荐 dtupdate 软件包。

@jeborsel 建议通过 Dirk Eddelbuettel 的 drat软件包 将 github 存储库添加为 drat存储库。这将使您可以使用 update.packages() 更新软件包。


0

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

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

-1

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


我认为这篇回答并没有像一些评论那样很好地回答了提问者的问题。 - Ben Bolker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接