我不确定这个问题在stack-overflow上是否已经有答案。我在我的Unix机器上安装了Emacs-ESS,每次启动emacs时都会加载特定版本的R。
现在我有一些新的R包想要在安装到默认的R环境之前进行测试。因此我在本地目录中安装了更新的R版本并安装了我的新包。现在,如果我想从emacs中调用这个新的本地安装的R版本,我应该如何做呢?我想能够调用默认的R版本或本地安装的R版本。
感谢您的时间和帮助。
如果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->启动进程->其他”菜单启动。
这些方法对我没有用。我将PATH选项更改为指向我想要的版本,然后重新启动了emacs,这样就可以了。
M-x customize-variable
接着是inferior-R-program-name
。 - Martin MorganR-3
、R-devel
和R-patched
开头的R版本。 - Iakov Davydov