Mac,R和OS X el Capitan上的Emacs

时间:2015-10-01 19:53:52

标签: r macos emacs

我在Mac系统上使用Emacs和/或Aquamacs来编辑R,latex和html代码。在将OS X升级到el Capitan之后,R停止工作(搜索程序:没有这样的文件或目录,R)。我想知道是否有人遇到同样的问题并找到了解决方案。

7 个答案:

答案 0 :(得分:3)

这就是我所做的,它解决了这个问题。

  1. 重新安装R(撰写本文时的最新版本为3.2.4)
  2. 在.emacs中包含(setq exec-path(cons" / usr / local / bin" exec-path))。 / usr / local / bin是命令行R软链接的地方。
  3. 当然如果在/ usr / local / bin中找不到R命令但在其他地方找不到,则应该在步骤2中更改路径。

答案 1 :(得分:1)

我必须在升级后重新安装R和所有软件包。为了能够轻松完成此步骤,请在升级到El Capitan之前将已安装的软件包保存在文件中。这些包实际上并没有被删除,而是存在于 /Library/Frameworks/R.Framework/Versions/3.2/Resources/library(3.2 =版本),所以您仍然可以找到它们,但有些可能在您的用户库中。<​​/ p>

保存您的包裹清单:

my.packages = library()[[2]] write.table(my.packages,file =&#34; my.packages.txt&#34;,row.names = F,col.names = T)

然后升级,从R-3.2.2.pkg(或最新版本)重新安装,然后读取my.packages中的文本文件并使用install.packages(my.packages,repos =&#39; {{3你应该好好去。

答案 2 :(得分:1)

关于&#34; El Capitan&#34;下的R,你不一定要重新安装它。您可以通过列出目录

找出发生的情况

ls -l /Library/SystemMigration/History/Migration-<UUID>/QuarantineRoot/usr/bin

<uuid>看起来像38CF2251-9593-48E9-BAA4-4880AA47E908)。这是操作系统升级将以前的链接放在/usr/bin中的位置。只需以root身份创建与RRscript相同的符号链接:

cd /usr/local/bin
ln -s /Library/Frameworks/R.framework/Resources/bin/R R
ln -s /Library/Frameworks/R.framework/Resources/bin/Rscript Rscript

当然,这假设您/usr/local/bin中有PATH

R的新装置应该了解El Capitan的变化,参见this R bug report

答案 3 :(得分:0)

这是另一种解决方案:将emacs替换为“已修改的emacs&#39;&#39;”。它解决了Auctex(latex-preview-pane-mode)和R的所有问题。它也与OS 10.11一致。

您可以从以下网址下载:http://vgoulet.act.ulaval.ca/en/emacs/mac/

答案 4 :(得分:0)

我有同样的问题让R在El Capitan上运行。问题现在解决了。接下来是我尝试过的。您可能会发现一些步骤无关紧要,但为了完整起见,我已将它们包括在内。

  1. 尝试通过自制程序重新安装它(上面的mentioined)并得到一条关于el capitan的不兼容的消息。
  2. 加载的&#39;修改过的emacs&#39; (如上所述)。
  3. 访问以下链接: http://ftp.heanet.ie/mirrors/cran.r-project.org/bin/macosx/
  4. 然后下载并安装: (i)R-3.2.2.pkg 并按照说明在终端中运行校验和命令。 (ii)XQuartz 4.然后在终端输入R 它起作用了。

    1. 对于我正在做的课程,需要其他软件包或库。要在终端类型中加载包&#39; geonames,请执行以下操作: install.packages(C(&#34; GEONAMES&#34))

      将出现一条消息,要求您选择CRAN镜像。另外一个窗口将打开一个镜像列表,单击一个,然后单击确定。

    2. 同样,包装&#39; UsingR&#39;被加载: install.packages(C(&#34; UsingR&#34))

      __端

答案 5 :(得分:0)

我认为问题是for(int x=0; x<gameboard.length; x++) { gameboard[x] = new GameBoard(); //Assuming you want to use the default constructor } 不再可写。这就是usr/binR等程序所在的地方。在我的系统上,看起来Rscript被移动到类似:

usr/bin

我想您可以将隔离文件夹添加到您的路径中,因为在我的系统上,如果从那里执行,一切似乎都正常。

答案 6 :(得分:-1)

我遇到了同样的问题。我不确定在El Capitan中发生了什么变化,但在我的/usr/local/bin文件中将R二进制文件(.emacs)的路径添加到exec-path修复了问题对我来说。