【发布时间】:2021-07-17 10:34:13
【问题描述】:
我对 R 的库路径有疑问。也许答案已经存在,但我找不到。我将 R 与 RStudio 版本 1.1.456 一起使用。我所有的附加库都位于一个目录dir1 <- \\SHARE\TOOLS_OLD$\R-3.5.1 中,我在该目录中附加了.libPaths(dir1)。在此设置中,一切都按预期工作。
我将目录\\SHARE\TOOLS_OLD$\R-3.5.1 中的所有库复制到新位置\\NAS\TOOLSNEW$\R-3.5.1 后出现问题。我没有更新 R 版本,我想保持所有包版本相同,这样我的设置与以前完全相同。这就是我没有在新位置重新安装软件包的原因。
当我打开一个新的 R 会话并运行这三行代码时
dir2 <- \\NAS\TOOLSNEW$\R-3.5.1
.libPaths(dir2)
.libPaths()
我得到.libPaths()的正确输出
[1] "\\\\NAS/TOOLSNEW$/R-3.5.1" "C:/Apps/R-3.5.1/library"
但 R 也会抛出错误:
Error: invalid version specification ‘NA’
In addition: Warning message:
In utils:::packageDescription(packageName, fields = "Version") :
no package 'knitr' was found
显然有些软件包会记住它们最初的安装位置。有没有办法将软件包复制到新位置而不重新安装它们?如果这不可能,是否有一种简单(即非手动)的方法来重新安装我的包树而不升级任何包(包括依赖项),即定义每个包的版本?
感谢您的帮助!
PS:这是我的会话信息,以防万一。
R version 3.5.1 (2018-07-02)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=German_Switzerland.1252 LC_CTYPE=German_Switzerland.1252
LC_MONETARY=German_Switzerland.1252 LC_NUMERIC=C
[5] LC_TIME=German_Switzerland.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.5.1 tools_3.5.1 yaml_2.2.0
【问题讨论】: