簡體   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