在使用R時,很多人都是在登陸節點上裝R包,但R很占內存,直接在登陸節點跑復雜程序,管理員該找你喝茶了。但是投遞到計算節點又跑不了,真是頭大。原因是計算節點的R又沒裝你要用的R包。有人會說,那在每個計算節點上裝一遍不就行了,計算節點如果有20個,一個一個裝不是啥大事,可又不止這一個包,來10個20個包,誰受得了。【所以要自己把R裝在一個登陸節點和計算節點都可以訪問到的地方,這樣就可以了。大多數人都沒有root權限,怎么裝,看下面。】
R官網下載R,放在你能找到的地方。我下載的是R-3.5.3
第一步:tar -xzf ?R-3.5.3.tar.gz #解壓
? ? ? ? ? ? ? ? cd?R-3.5.3 #打開
? ? ? ? ? ? ? ? ./configure --prefix=/home/bin/R ?#我是放在我的home/bin路徑下的,這個可以自己放在喜歡的位置
第二步:一般?./configure都會報錯,此步主要是把這些錯誤都解決了
【報錯1】configure: error: zlib library and headers are required
解決:自己百度下載zlib
? ? ? ? tar -xzf?zlib-1.2.11.tar.gz ?#可能會有最新版
? ? ? ? cd?zlib-1.2.11
? ??????./configure --prefix=/home/bin/zlib-1.2.11
? ? ? ? make
? ? ? ? make install
【繼續configure R】?./configure --prefix=/home/bin/R?--enable-R-shlib?LDFLAGS="-L/$HOME/Programme/zlib-1.2.11/lib" ?CPPFLAGS="-I/$HOME/Programme/zlib-1.2.11/include"
【報錯2】configure: error: bzip2 library and headers are required
解決:自己百度下載bzip2(官網下不下來,可能是自己chun,就在百度某頁面隨便下了一個)
? ??????tar -xzf?bzip2-1.0.6.tar.gz
????????cd?bzip2-1.0.6
????????make
? ? ? ? make install?PREFIX=/home/bin/bzip2-1.0.6
? ??????make -f Makefile-libbz2_so
最后這步會有問題,網上說這么解決,一開始沒解決,試了無數遍后奇跡般解決的。如果你們遇到也可以試試。多試幾遍。
第一:設置環境變量:
vi ? ?~/.bashrc #添加下面的代碼
export PATH=/home/bin/bzip2-1.0.6/bin:$PATH
export LD_LIBRARY_PATH=/home/bin/bzip2-1.0.6/lib:$LD_LIBRARY_PATH
export CFLAGS="-fPIC -I/home/bin/bzip2-1.0.6/include"
export LDFLAGS="-fPIC?-L/home/bin/bzip2-1.0.6/lib"
:wq
source ~/.bashrc
第二:指定-fPIC編譯:重新編譯步驟:
?cd bzip2-1.0.6
?make CC='gcc -fPIC'
?make install PREFIX=/home/bin/bzip2-1.0.6
make -f Makefile-libbz2_so?//建立共享library,不會報錯說明正確
【繼續configure R】?./configure --prefix=/home/bin/R?--enable-R-shlib?LDFLAGS="-L/home/bin/zlib-1.2.11/lib -L/home/bin/bzip2-1.0.6/lib" ?CPPFLAGS="-I/$HOME/Programme/zlib-1.2.11/include -I/home/bin/bzip2-1.0.6/include"
【報錯3】configure: error: "liblzma library and headers are required"
解決:自己百度下載?xz-5.2.4.tar.gz
? ? ? ? tar -xzf?xz-5.2.4.tar.gz
? ? ? ? cd?xz-5.2.4
? ??????./configure --prefix=/home/bin/xz-5.2.4
? ? ? ? make
? ? ? ? make install
【繼續configure R】?./configure --prefix=/home/bin/R?--enable-R-shlib?LDFLAGS="-L/home/bin/zlib-1.2.11/lib -L/home/bin/bzip2-1.0.6/lib -L/home/bin/xz-5.2.4/lib" ?CPPFLAGS="-I/$HOME/Programme/zlib-1.2.11/include -I/home/bin/bzip2-1.0.6/include -I/home/bin/xz-5.2.4/include"
【報錯4】configure: error: pcre >= 8.20 library and headers are required
解決:自己百度下載 pcre-8.43.tar.gz (千萬不要錯下載pcre2- 的版本)
????????tar -xzf?pcre-8.43.tar.gz
? ? ? ? cd?pcre-8.43
? ??????./configure --prefix=/home/bin/pcre-8.43
? ? ? ? make
? ? ? ? make install
【繼續configure R】?./configure --prefix=/home/bin/R?--enable-R-shlib?LDFLAGS="-L/home/bin/zlib-1.2.11/lib -L/home/bin/bzip2-1.0.6/lib -L/home/bin/xz-5.2.4/lib -L/home/bin/pcre-8.43/lib" ?CPPFLAGS="-I/$HOME/Programme/zlib-1.2.11/include -I/home/bin/bzip2-1.0.6/include -I/home/bin/xz-5.2.4/include -I/home/bin/pcre-8.43/include"
【報錯5】configure: error: libcurl >= 7.22.0 library and headers are required with support for https
解決:自己百度下載curl-7.64.0.tar.gz
??????tar -xzf?curl-7.64.0.tar.gz
? ? ? ?cd?curl-7.64.0
? ? ? ?./configure --prefix=/home/bin/curl-7.64.0
? ? ? ? make
? ? ? ? make install
【繼續configure R】?./configure --prefix=/home/bin/R?--enable-R-shlib?LDFLAGS="-L/home/bin/zlib-1.2.11/lib -L/home/bin/bzip2-1.0.6/lib -L/home/bin/xz-5.2.4/lib -L/home/bin/pcre-8.43/lib -L/home/bin/curl-7.64.0/lib" ?CPPFLAGS="-I/$HOME/Programme/zlib-1.2.11/include -I/home/bin/bzip2-1.0.6/include -I/home/bin/xz-5.2.4/include -I/home/bin/pcre-8.43/include -I/home/bin/curl-7.64.0/include"
這樣configure就不會有錯啦
第三步:make?
【如果沒有報錯】make install 就裝好了
【如果有報錯】?
報錯1:報錯內容包含libbz2.a,重復第二步的報錯2解決方案,直到沒有報錯才可以,要不然會一直報錯,無法make。
報錯2:報錯內容包含lzma、pcre,需要修改configue 內容,加-Wl,rpath
./configure --prefix=/home/bin/R?--enable-R-shlib?LDFLAGS="-L/home/bin/zlib-1.2.11/lib -L/home/bin/bzip2-1.0.6/lib -L/home/bin/xz-5.2.4/lib -L/home/bin/pcre-8.43/lib -L/home/bin/curl-7.64.0/lib -Wl,rpath=/home/bin/pcre-8.43/lib -Wl,rpath=/home/bin/xz-5.2.4/lib" ?CPPFLAGS="-I/$HOME/Programme/zlib-1.2.11/include -I/home/bin/bzip2-1.0.6/include -I/home/bin/xz-5.2.4/include -I/home/bin/pcre-8.43/include -I/home/bin/curl-7.64.0/include"
接著make, make install
第四步:待所有的安裝都成功后,把R 的路徑寫在bashrc里就可以了
參考鏈接:http://blog.sina.com.cn/s/blog_6aaea1760102x5ka.html
? ??????????????????http://www.lxweimin.com/p/edb234eed915