ESS调用不同的R安装

12

我不确定这个问题在stack-overflow上是否已经有答案。我在我的Unix机器上安装了Emacs-ESS,每次启动emacs时都会加载特定版本的R。

现在我有一些新的R包想要在安装到默认的R环境之前进行测试。因此我在本地目录中安装了更新的R版本并安装了我的新包。现在,如果我想从emacs中调用这个新的本地安装的R版本,我应该如何做呢?我想能够调用默认的R版本或本地安装的R版本。

感谢您的时间和帮助。

2个回答

14

如果ESS知道其他版本的R的安装位置,那么它可以启动其他版本的R。下面是摘自ESS手册的相关部分:

如果在系统上有其他版本的R或S-Plus可用,ESS也能够启动这些版本。具体如何工作取决于你使用的操作系统,在下面的段落中有所描述。不管操作系统如何,通用原则是ESS搜索变量exec-path中列出的路径以查找R二进制文件。如果ESS无法找到你的R二进制文件,在Unix上,你可以更改unix环境变量PATH,因为该变量用于设置exec-path。

Unix系统上的R:如果你的exec-path上有“R-1.8.1”,则可以使用M-x R-1.8.1启动它。默认情况下,ESS将找到以“R-1”或“R-2”开头的R版本。如果你的R版本被命名为其他名称,请考虑使用符号链接重命名它们或更改变量ess-r-versions。要查看已创建用于启动不同版本R的函数,请键入M-x R-然后按[Tab]。这些其他版本的R也可以从“ESS->启动进程->其他”菜单启动。


6
还有 M-x customize-variable 接着是 inferior-R-program-name - Martin Morgan
ESS还会找到以R-3R-develR-patched开头的R版本。 - Iakov Davydov
更新:ESS在程序包加载期间发现的其他R版本是指任何可执行程序,其基本名称以“R-1”、“R-2”、“R-3”、“R-4”、“R-5”、“R-6”、“R-7”、“R-devel”或“R-patched”开头(尽管我建议采用Martin提出的问题用例的方法)。 - malcook

-1

这些方法对我没有用。我将PATH选项更改为指向我想要的版本,然后重新启动了emacs,这样就可以了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接