当我想在emacs中打开R会话时,我使用M-x R
。
但是,我们的服务器在/ usr / bin / R中都有R 2.12,在/ usr / local / bin / R中有R 2.15。实际上,如果我问whereis R
,我会得到以下内容:
$ whereis R
R: /usr/bin/R /usr/local/bin/R /usr/local/bin/R2.15 /usr/local/bin/R2.12
/usr/local/bin/R2.7 /usr/include/R /usr/share/R /usr/share/man/man1/R.1.gz
当我尝试从.bashrc导出“R_HOME = / usr / local / bin / R2.15”时,emacs说“警告:忽略R_HOME的环境值”
有没有办法选择推出哪个R实例?目前,当我在命令行输入R时,即使M-x R
启动2.12,也会启动2.15。
答案 0 :(得分:4)
非ESS的答案是确保您的PATH完全相同,并且您想要的版本是第一位的。您启动的shell与涉及Emacs的启动之间似乎存在差异。您可以使用PATH从shell启动Emacs。
ESS答案可能涉及设置一些魔术变量......在Windows上,我们经常直接设置二进制文件。这里的lisp代码说:
;; If you wish to call other versions of R on a Unix system, ESS
;; should auto-detect other versions of R, according to matches to the
;; variable `ess-r-versions' as described in its docstring. Consider
;; changing that variable rather than changing inferior-R-program-name
;; if your version of R is not already auto-detected.
;;(setq-default inferior-R-program-name "R") ; unix systems
所以它应该工作。我只保留R在我的PATH中,另一个在其中,所以我不能在这里为你测试。但请尝试摆弄ess-r-version
和/或inferior-R-program-name
。