gpt4 book ai didi

r - 有没有办法在 r 中自动重新安装软件包及其依赖项?

转载 作者:行者123 更新时间:2023-12-04 12:10:15 26 4
gpt4 key购买 nike

所以我在Rstudio上使用installR将R更新到4.0.0版本,并将我的包文件复制到R中的库文件中,目录为:C:\Users\Ibrahim\Documents\R\R-4.0.0\library
每当我调用一个包时,例如 tidytext,它都会给我:

library(tidytext)
Error: package or namespace load failed for ‘tidytext’:
package ‘tidytext’ was installed before R 4.0.0: please re-install it

然后我会尝试安装它,它会给我:
install.packages('tidytext')
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.0/tidytext_0.2.4.zip'
Content type 'application/zip' length 3008780 bytes (2.9 MB)
downloaded 2.9 MB

package ‘tidytext’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
C:\Users\Ibrahim\AppData\Local\Temp\Rtmpmo5Lza\downloaded_packages

再次调用它会给出:
library(tidytext)
Error: package or namespace load failed for ‘tidytext’:
package ‘tokenizers’ was installed before R 4.0.0: please re-install it

我会继续安装下一个依赖项并调用该包,直到它最终可以工作。

我试图用我发现的这段代码来自动化这个:
lib_loc <- "C:/Users/Ibrahim/Documents/R/R-4.0.0/library"
to_install <- unname(installed.packages(lib.loc = lib_loc)[, "Package"])
to_install
install.packages(pkgs = to_install)
install.packages(pkgs = to_install, dependencies=T, INSTALL_opts='--no-lock')

这会在目录中创建一堆 .zip 文件: C:\Users\Ibrahim\AppData\Local\Temp\Rtmpmo5Lza\downloaded_packages
但过了一会儿,它最终锁定,在初始/library 目录中创建一个名为 00LOCK 的文件夹/文件,并停止该过程。

然后我会删除它,但是当我再次运行代码时,我想它可能会重做许多已经完成的文件,但最终仍会再次锁定。我做错了什么吗?有没有办法解决这个问题?手动完成真的很痛苦。我应该重新安装 RStudio 吗?我正在失去希望。

最佳答案

在将 R 升级到较新版本后,某些 R 包确实需要重新编译。这可能是你的情况。要重新安装和更新这些旧包(即在早期版本的 R 下构建的包),您可以尝试在 R 控制台中运行此代码:

update.packages(ask = FALSE,
checkBuilt = TRUE)
ask参数防止 R 不断要求您确认每个包的每次更新,而 checkBuilt参数是重新安装在早期版本的 R 下构建的所有包。

有关更多信息,请参阅 documentation或输入 ?update.packages在 RStudio 的 R 控制台中。希望这可以帮助!

关于r - 有没有办法在 r 中自动重新安装软件包及其依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62117903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com