当我在学校时,系统管理员安装了多个版本的R。我遇到了一个带有R-3.1.0的bug,在调查这个bug时,我需要重新安装一些以前版本的R以供开发,但是我没有看到任何关于如何在同一个系统中拥有多个并发版本的R的文档,应该类似于
$ ls -l /usr/lib | grep R-
lrwxrwxrwx 1 root root 8 Jun 3 09:41 R -> R-3.1.0/
drwxr-xr-x 9 root root 4096 May 15 11:56 R-3.1.0
drwxr-xr-x 9 root root 4096 May 15 11:56 R-3.0.3
$ ls -l /usr/bin | grep R-
lrwxr-xr-x 1 root root 8 Jun 3 09:41 R -> R-3.1.0
-rwxr-xr-x 9 root root 4096 May 15 11:56 R-3.1.0
-rwxr-xr-x 9 root root 4096 May 15 11:56 R-3.0.3无论是在R安装和管理指南中还是在configure --help中,我都没有看到关于如何实现这一点的文档。我正在运行一个Gentoo系统,ebuild在安装时删除或覆盖以前版本的R,所以我可能会从源代码中安装。
发布于 2014-06-03 16:10:12
是的,就像乔希·乌尔里希已经说过的那样,这很容易。
人们通常有这样的问题,r-发展安装与基本的R,你将从你的发行版。我使用一个简单的shell脚本来构建/更新Rscript,使用两个匹配的脚本运行Rscript和Rscript-devel。我不记得我是否在博客上写过,但是人们似乎提到了r-sig-debian列表中包含它的一篇老文章。这是迈克尔写的一篇好文章详细描述了相同的过程。
通过创建新的子目录,您可以添加任意数量的R版本。不过,您应该将本地构建保留在/usr/local中,并且可以为/usr/local/bin中的二进制文件创建软链接。脚本R本身将有R_HOME_DIR硬编码和“只是工作”。
更理想的方法涉及虚拟化,而在Linux上,您最好的选择是docker,我现在正在使用它,我希望在某个时候详细说明这一点,以便在多个编译器上测试R包等等。
发布于 2014-06-03 16:00:12
我不是R方面的专家,但是在Linux上,您总是可以使用schroot和debootstrap来创建一个新的孤立环境,具有不同版本的R、库、.实际上,我使用它为RedHat、Ubuntu或Debian编译不同版本的代码。
参见例如:https://wiki.ubuntu.com/DebootstrapChroot
(一旦你习惯了它,创建一个新的显色系统只需20分钟)
https://stackoverflow.com/questions/24019503
复制相似问题