【问题标题】:How to update all packages for a new R version quickly and easily?如何快速轻松地为新的 R 版本更新所有包?
【发布时间】:2021-03-03 03:43:50
【问题描述】:

假设我安装了 R 版本 3.x.x,并且我升级到版本 4.x.x,是否有任何快速/简单的方法来安装我已安装的所有新版本的库?

请假设所有包都在 CRAN 上

【问题讨论】:

  • 这能回答你的问题吗? Painless way to install a new version of R?
  • 1) 对update.packages() 的调用将始终为您完成。 2) 在 R 主要版本更改的特殊情况下,您可以设置选项 checkBuilt=TRUE 触发重新安装,即使包没有在 CRAN 更改但因为您移动了 R 版本。
  • @DirkEddelbuettel 感谢 Dirk。我应该向update.packages() 提供一个包名称向量还是它可以解决这个问题?
  • 它将现有的作为给定的,参见help(update.packages())

标签: r cran


【解决方案1】:

不知道这是否简单快捷,但我认为pacman 包可能很有用。

  1. 在以前的版本中,使用pacman::p_lib() 返回已安装包的向量,并使用saveRDS() 将它们保存到磁盘。

例如,

mypks <- pacman::p_lib()
saveRDS(mypks, "~/mypks.rds")
  1. 更新 R.

  2. 使用readRDS() 导入第1 步中的向量并使用对象运行install.packages()

例如,

mypks <- readRDS("~/mypks.rds")
install.packages(mypks)

【讨论】:

  • 谢谢,这既快速又轻松。我最终使用了你的方法的一个更懒的版本,我在下面记录下来以供将来参考
【解决方案2】:

步骤 1

上一个 R安装中运行:

# install.packages("pacman")
library(pacman)
dput(pacman::p_lib())

将输出复制到剪贴板。

第二步

打开您的 R 版本,粘贴上一步的输出代替***paste output here***

vector_of_packages <- ***paste output here***
install.packages(vector_of_packages)

注意事项:

  • 这只是 @Phil 建议的一种更懒惰的方式。

【讨论】:

    猜你喜欢
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2013-07-16
    相关资源
    最近更新 更多