繁体   English   中英

Mac,R和OS X el Capitan上的Emacs

[英]Emacs on Mac, R, and OS X el Capitan

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

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

  1. 重新安装R(撰写本文时,最新版本为3.2.4)
  2. 在.emacs中包含(setq exec-path(cons“ / usr / local / bin” exec-path))。 / usr / local / bin是命令行R的软链接。

当然,如果在/ usr / local / bin中找不到R命令,而在其他地方,则应在步骤2中更改路径。

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

要保存软件包列表:

my.packages = library()[[2]] write.table(my.packages,file =“ my.packages.txt”,row.names = F,col.names = T)

然后升级,从R-3.2.2.pkg(或最新版本)重新安装,然后读取my.packages中的文本文件并使用install.packages(my.packages,repos =' http://cran.us.r -project.org '),那么您应该一切顺利。

关于“ El Capitan”下的R,您不必重新安装它。 您可以通过列出目录来了解发生了什么

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

(其中<uuid>看起来像38CF2251-9593-48E9-BAA4-4880AA47E908 )。 这是OS升级的地方,该链接曾经位于/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中的更改,请参见。 这个R bug报告

这是另一种解决方案:用``修改后的emacs''替换emacs。 它解决了Auctex(胶乳预览窗格模式)和R的所有问题。它也与OS 10.11一致。

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

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

  1. 尝试通过自制程序(上面已提及)重新安装它,并收到有关capitan的不兼容消息。
  2. 加载了“修改过的emacs”(如上所述)。
  3. 访问了以下链接: http : //ftp.heanet.ie/mirrors/cran.r-project.org/bin/macosx/

然后下载并安装:(i)R-3.2.2.pkg并按照说明在终端中运行checksum命令。 (ii)XQuartz 4.然后在终端中键入R,它可以正常工作。

  1. 对于我正在做的课程,需要其他软件包或库。 要加载“ geonames”软件包,请在终端中输入:install.packages(c(“ geonames”))

    将出现一条消息,要求选择CRAN镜像。 另外,还将打开另一个窗口,其中包含镜像列表,单击一个并单击“确定”。

同样,软件包“ UsingR”的加载方式是:install.packages(c(“ UsingR”))

__结束

我认为问题在于usr/bin不再可写。 这就是RRscript类的程序Rscript地方。 在我的系统上,看起来usr/bin已移至以下位置:

/Library/SystemMigration/History/Migration-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/QuarantineRoot/usr/bin

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

我有同样的问题。 我不确定El Capitan中有什么更改,但是将R二进制文件的路径(系统上的/usr/local/bin )添加到我的.emacs文件中的exec-path中为我解决了此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM