如何在我自己的目录中安装新版本的 R,例如/local/data/project/behi
.
答案1
最简单的方法是安装 R从源头:
$ wget http://cran.rstudio.com/src/base/R-3/R-3.4.1.tar.gz
$ tar xvf R-3.4.1.tar.gz
$ cd R-3.4.1
$ ./configure --prefix=$HOME/R
$ make && make install
倒数第二步是关键的一步。它将 R 配置为安装到您自己的主目录的子目录中。
要在 Linux、macOS 和类似系统上运行它,请将其添加$HOME/R/bin
到您的PATH
.然后,像R
和这样的 shell 命令Rscript
就可以工作了。
在 macOS 上,您还有另一种选择:建造R.app
并将其安装到您用户的私人Applications
文件夹中。您需要安装 Xcode 才能执行此操作。
你可以考虑给予--prefix=$HOME
。这会将 R 安装在您的主目录的顶层,以便R
和Rscript
二进制文件最终位于$HOME/bin
,这可能已经在您用户的PATH
.缺点是它会使以后的卸载更加困难,因为 R 会与其他$HOME
内容混合在一起。
(如果这是您安装到 的第一个东西$HOME/bin
,您可能必须注销并重新登录才能将其添加到您的 中PATH
,因为它通常只有$HOME/bin
在登录时存在时才会有条件地添加。)
这种通用模式适用于可以从源代码安装的大量 Unix 软件。如果软件有configure
脚本,它可能理解该--prefix
选项,如果没有,通常有一些具有相同效果的替代方案。
由于多种原因,这些功能很常见。根据我的经验,按照可能性降序排列:
答案2
您还可以使用包装应用程序租金。
摘抄
简单的 R 版本管理:Renv
Renv 可让您轻松地在 R 的多个版本之间切换。它简单、不引人注目,并且遵循 UNIX 单一用途工具只做好一件事的传统。
Renv确实……
- 让您可以根据每个用户更改全局 R 版本。
- 为每个项目的 R 版本提供支持。
- 允许您使用环境变量覆盖 R 版本。
答案3
从源代码构建./configure --prefix=/local/data/project/behi ; make ; make install
如果您从 RPM 软件包安装并且它被创建为可重定位的,您可以使用
rpm ... --prefix /local/data/project/behi
但并非所有软件包都是使用可重定位二进制文件构建的,并且我认为 debian 软件包没有此选项(尽管您可能会成功dpkg --instdir
)。