搞了有點久所以記錄一下。Mac OS自Yosemite開始不在系統裡內建X11,所以有些R的Package會無法運作,這個問題可以透過安裝XQartz來解決。
通常這個問題的錯誤訊息會是:
而這次我碰到的問題是在安裝新版的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之後就可以正常使用了。
通常這個問題的錯誤訊息會是:
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之後就可以正常使用了。
留言
張貼留言