Linux - 覆盖所谓的软件版本

时间:2016-05-11 13:24:09

标签: linux bash

我使用群集,并希望在“R' R'从任何文件夹在命令行上键入。我不能make install,因为这需要root权限。

我尝试在PATH变量之前和之后将路径附加到我想要的版本。但是,当我点击“R'在shell上,它仍然会加载不需要的版本。

这就是我的尝试:

$ export R_HOME="/scratch/mcp50/paks/R-3.2.0/bin/R"
$ export PATH="$R_HOME:$PATH"
$ R
WARNING: ignoring environment value of R_HOME

R version 3.0.2 (2013-09-25) -- "Frisbee Sailing"

2 个答案:

答案 0 :(得分:0)

在Linux上,可以使用以下命令确定R的默认版本:

which R

which命令使用系统R搜索PATH可执行文件。

对于系统软件包管理员安装的R版本(例如Debian或Ubuntu上的r-base),这将是/usr/bin/R。对于从源安装的R版本,这通常会(但不总是)位于/usr/local/bin/

如果要覆盖使用的Rscript版本,则可以在bash脚本中明确指定路径,如下所示:

/my/path/to/Rscript script1.R

除了使用bash指定要使用的rscript安装之外,您可以通过编辑R脚本的第一行直接从命令行运行脚本以下#!/usr/bin/Rscript(将/usr/bin替换为您的实际R可执行安装目录。

您的问题中不清楚的是 - 您是否能够在目标系统上获得R的替代版本?

答案 1 :(得分:0)

我将PATH指向二进制文件,而不是它所在的目录。 - 猜想