相关疑难解决方法(0)

迁移R库

我想在Linux上将几个R库(*)从一个驱动器移动到另一个驱动器,并且想知道一个简单的移动是否可行且安全,或者我是否应该卸载并重新安装软件包.我意识到库的位置是.libPaths()通过"R安装和管理"手册查找并查看了有关迁移库的信息,但没有看到推荐的过程.

我认为有三种选择:

  1. 运行remove.packages()所有非基本软件包,然后重新安装install.packages(lib = "/path/to/new/location").
  2. 移动库(目录)mv并使用符号链接指向新位置(最终删除符号链接)
  3. 使用mv在Linux命令移动目录批发和更新.Library.siteR_HOME/etc/Rprofile.site,如建议[R安装和管理手册

选项#1是生硬的.选项#2应该有效,但似乎有点不合理.

#3是安全还是存在严重问题?我发现的问题是:目录权限以及任何包的设置存储绝对路径而不是相对路径(这似乎不健全且不必要)的可能性.

关于绝对路径的存储,我发现rJava存储了R_HOME一个名为的文件的位置run.这不是一个问题库本身,但它是保持一个绝对路径的专用副本包(和好包在那)的一个指示.

(*)有几个库和许多包.当然,只移动库(目录),但包可能会受到影响.


更新1 /澄清:只是为了澄清:我只是迁移库,而不是更改R的版本或软件包的版本.更新R或包可以单独完成,但问题是移动库是否可行.似乎如果有必要更新或重新安装所有软件包以确保正确安装,那么这是一个类似于选项#1而不是选项#3的路径.

更新2:另一篇SO帖子的答案对于如何在升级时避免此问题有一些好主意.我不是升级R,但Dirk Eddelbuettel关于不在R的filetree中安装软件包的建议是明智的.

installation administration r r-faq

27
推荐指数
1
解决办法
1万
查看次数

标签 统计

administration ×1

installation ×1

r ×1

r-faq ×1