R在Linux上的安裝有一些坑(Windows上安裝會方便許多),在這里記錄,希望可以減少讀者不必要的麻煩。我的服務器是SUSE Linux 64位,無法接入互聯網(安全原因,你懂的)。
到R官網http://www.r-project.org/下載源代碼。下載完后上傳到服務器上並解壓。首先配置,cd到解壓后的目錄輸入如下命令
./configure --prefix=<YOUR_R_HOME> --with-readline=yes --with-libpng=yes --with-x=no
參數解釋
- prefix R安裝目錄,需要絕對路徑,默認安裝在R源代碼目錄下,建議指定特定目錄,后續好維護。
- with-readline 使用系統的readline庫,如果系統上沒有libreadline,此選項填“no”,但是強烈推薦使用此選項,否則編譯出來的R極其難用(上下左右全部無效,囧!)。如何安裝libreadline,參見這里。安裝好libreadline后,但是R配置時找不到,可能是libreadline.so沒有在系統目錄(如/usr/local/lib)中,參見這篇文章排查問題。
- with-libpng 使用系統的libpng庫,用於導出png圖片,libpng下載地址,參見這里。
- with-x 表示是否使用X-Windows系統,也就是類Unix操作系統的GUI,由於我的服務器是沒有安裝這個的,所以這一項選擇”no”(一般的服務器也不會安裝這個)。
配置完后,輸入如下命令就可以編譯並安裝R到指定目錄了
make && make install
在安裝過程中,R有部分庫依賴java,所以如果沒有安裝java,R安裝擴展庫時會異常結束,報告找不到java等信息,但是這個不影響使用。linux上安裝java,可以參見這里,配置java環境變量,可以參見這里。
安裝完后R后,還無法在系統任何目錄下使用R,這一點比較麻煩,所以最好在系統目錄下做一個軟鏈接,方便后續操作,命令如下:
ln -s <YOUR_R_HOME>/bin/R /usr/local/bin/R
安裝完R后,后續可能還需要安裝一些擴展包,可以參見這篇文章了解更多擴展包的安裝方法。
希望這篇文章對你有用。
