在我自己的目录中安装 R

use*_*736 42 software-installation not-root-user

如何在我自己的目录中安装新版本的 R,例如/local/data/project/behi.

War*_*ung 51

最简单的方法是从源安装 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
Run Code Online (Sandbox Code Playgroud)

倒数第二步是关键一步。它将 R 配置为安装到您自己的主目录的子目录中。

要在 Linux、macOS 和类似系统上运行它,请添加$HOME/R/bin到您的PATH. 然后,shell 命令像RRscript将工作。

在 macOS 上,您还有另一种选择:构建R.app并将其安装到用户的私人Applications文件夹中。您需要安装 Xcode 才能执行此操作。

你可以考虑给予--prefix=$HOME。它安装在[R你的home目录的顶层,使RRscript二进制文件最终在$HOME/bin,这很可能已经在你的用户PATH。缺点是它使以后的卸载更加困难,因为 R 会与您的其他$HOME内容混合在一起。

(如果这是您安装的第一件事$HOME/bin,您可能必须注销并重新登录才能将PATH其添加到您的 中,因为它通常只有$HOME/bin在登录时存在时才会有条件地添加。)

这种通用模式适用于您可以从源代码安装的大量 Unix 软件。如果软件有configure脚本,它可能会理解该--prefix选项,如果没有,通常会有一些具有相同效果的替代方法。

由于多种原因,这些特征很常见。根据我的经验,按照可能性降序排列:

  • 安全默认值 ( /usr/local) 并非$prefix在所有情况下都正确。情况可能规定其他东西,例如/usr/opt/$PKGNAME等等。

  • 二进制包构建系统(RPMDEBPKGCygport ...)通常会构建包并将其安装到一个特殊的暂存目录中,然后以这样一种方式将其打包,使其扩展到所需的安装位置。

  • 您的情况,您无法root将软件安装到典型位置,因此您$HOME改为安装。

  • 我会推荐 `./configure --prefix=$HOME/R --enable-R-shlib` 以确保编译 R 共享库。否则,RStudio 会抱怨。 (2认同)

slm*_*slm 8

您还可以使用包装应用程序Renv

摘抄

简单的 R 版本管理:Renv

Renv 使您可以轻松地在 R 的多个版本之间切换。它简单、不引人注目,并且遵循 UNIX 的单一用途工具可以做好一件事的传统。

Renv 确实…

  • 让您在每个用户的基础上更改全局 R 版本。
  • 为每个项目的 R 版本提供支持。
  • 允许您使用环境变量覆盖 R 版本。