跳到主要內容

Microsoft R Open 與 Mac OS Sierra不相容

搞了有點久所以記錄一下。Mac OS自Yosemite開始不在系統裡內建X11,所以有些R的Package會無法運作,這個問題可以透過安裝XQartz來解決。
 
通常這個問題的錯誤訊息會是:
Warning message:
In doTryCatch(return(expr), name, parentenv, handler) :
  unable to load shared object '/Library/Frameworks/R.framework/Resources/modules//R_X11.so':
  dlopen(/Library/Frameworks/R.framework/Resources/modules//R_X11.so, 6): Symbol not found: _CGBitmapContextCreate
  Referenced from: /Library/Frameworks/R.framework/Resources/modules//R_X11.so
  Expected in: flat namespace
 in /Library/Frameworks/R.framework/Resources/modules//R_X11.so

而這次我碰到的問題是在安裝新版的XQuartz(當時為2.7.9)時仍然在透過biocLite()指令安裝BioConductor上的Package時仍跳出這個訊息,執行的環境是Mac OS Sierra/RStudio 0.99.903/Microsoft R Open v3.3.1。嘗試過移除 R Studio、Microsoft R Open、還有XQuartz重新安裝都無法解決這個問題。

因為問題發生在Microsoft R Open在Mac OS Yosemite之後仍然指向錯誤的路徑來找X11,所以即使安裝了XQuartz也會因為路徑錯誤讓R誤判你沒有安裝,安裝回CRAN版的R之後就可以正常使用了。

留言