我不确定这是否已经在堆栈溢出中得到了回答。我在我的 Unix 机器上安装了 Emacs-ESS,每当我启动 emacs 时,都会加载特定版本的 R。我现在有一些新的 R 包,我想在安装到默认 R 环境之前对其进行测试。因此,我在本地目录中安装了较新版本的 R,并在那里安装了我的新软件包。现在,如果我想从 emacs 调用我安装在本地目录中的这个较新的 R 版本,我应该怎么做呢?我希望能够调用默认的 R 版本或本地安装的 R 版本。
感谢您的所有时间和帮助
ESS 可以启动其他版本的 R,前提是它知道它们在您的系统上的位置。下面粘贴的是ESS 手册中的相关部分:
如果系统上有其他版本的 R 或 S-Plus 可用,ESS 也可以启动这些版本。具体如何工作取决于您使用的操作系统,如以下段落所述。无论操作系统如何,一般原则是 ESS 在变量 exec-path 中列出的路径中搜索 R 二进制文件。如果 ESS 找不到您的 R 二进制文件,在 Unix 上您可以更改 unix 环境变量 PATH,因为此变量用于设置 exec-path。
Unix 系统上的 R:如果您的 exec 路径上有“R-1.8.1”,则可以使用 Mx R-1.8.1 启动它。默认情况下,ESS 会查找以“R-1”或“R-2”开头的 R 版本。如果您的 R 版本被称为其他名称,请考虑使用符号链接重命名它们或更改变量 ess-r-versions。要查看为启动不同版本的 R 创建了哪些函数,请键入 Mx R-,然后点击 [Tab]。这些其他版本的 R 也可以从“ESS->Start Process->Other”菜单启动。
这些方法对我不起作用。我更改了 PATH 选项以指向我想要的版本,然后重新启动了 emacs,并且成功了。