4

在处理安装和使用 R 时我有点迷茫。我从源代码安装了 R 3.0.1,并按照建议执行了./configure、make、make checkmake install。但是我尝试运行 R 但它说 R 不在 /usr/bin 文件夹中。所以我然后使用cp将整个 R-3.0.1/bin 目录复制到我的 /usr/bin 目录中。现在,当我尝试在从 O'Reilly R 编写的 hello_world.R 脚本上使用 RScript 时,我遇到了一些关于 /usr/bin/env 的错误。 :

#! /usr/bin/env RScript
print("Hello World!");

很简单,但是当我尝试加载它时,我收到以下错误:

$ ./hello_world.R
/usr/bin/env: RScript: No such file or directory

我不确定这是 PATH 问题还是什么,但是当我在 /usr/bin 目录中搜索时,我确实在其中看到了 RScript 文件以及(R、BATCH 以及与 R 编程语言相关的其他文件)。任何帮助是极大的赞赏。干杯。

4

5 回答 5

4

您可能在 shebang 行中为 Rscript 使用了无效的命令行选项。

例如 ...

#!/usr/bin/env RScript --vanilla

删除“--vanilla”(或其他有问题的选项)并重新运行您的脚本

#!/usr/bin/env RScript

我知道您没有将其放在示例中,但是该解决方案可能会帮助其他人搜索相同的问题。

于 2013-08-12T18:15:35.950 回答
2

放入脚本的 shebang 行,#!/usr/bin/Rscript它应该可以工作。

作为附带说明,如果您想与 CRAN 的 R 版本保持同步,并且不依赖 Linux 发行版 (Ubuntu) 的本机 R,请在您的 apt 源代码中添加以下行:

deb http://my_favorite_cran_mirror/bin/linux/ubuntu raring/

之后,您始终可以使用 apt 系统来安装 R,我同意上面的 Jake 的观点,这应该是安装 R 的更可取的方式。

*用离您最近的有效 CRAN 镜像更改 my_favorite_cran_mirror。

于 2013-07-15T15:21:13.483 回答
2

同样,这个问题的良好解决方案非常简单,并且在env. 脚本应该使用env命令调用Rscript而不是Rscript直接调用:

#!/usr/bin/env Rscript

some R code now...

但是像这样的脚本会读取用户的.Rprofile信息。当我们想要一个普通的R 会话时(为了从一个干净且受控的 R 开始),我们必须传递选项--vanilla. 如果你尝试类似

#!/usr/bin/env Rscript --vanilla

some R code now...

env将字符串Rscript --vanillaa 执行命令并不可避免地返回错误消息

/usr/bin/env: ‘Rscript --vanilla’: No such file or directory

env的手册页中,有一个-S用于拆分字符串的选项。它的作用就是解决上面的问题,将第一个字符串Rscript作为命令名,后面的字符串(如--vanilla)作为选项传递给Rscript.

因此解决方案是:

#!/usr/bin/env -S Rscript --vanilla

some R code now...
于 2020-10-19T10:06:04.790 回答
1
#! /usr/bin/env RScript
print("Hello World!");

很简单,但是当我尝试加载它时,我收到以下错误:

$ ./hello_world.R
/usr/bin/env: RScript: No such file or directory

在这里你犯的错误是用 RScript 代替 RScript。语法将是

#! /usr/bin/env Rscript
print("Hello World!");

然后运行它,它会工作(y)一切顺利。

$./hello_world.R
于 2014-01-04T10:13:16.970 回答
1

我遇到了这个问题,试图在我无法控制 R 安装的集群计算机上理解此错误消息。

一般来说,当我Rscript在我的 makefile 中转换/usr/bin/Rscript为错误消息时不再出现。

于 2015-11-19T11:41:42.667 回答