問題
在服務器的R中安裝ggpubr包失敗毫痕,查看報錯日志發(fā)現(xiàn)征峦,依賴的nloptr包安裝失敗。但單獨安裝nloptr仍然失敗消请。
解決過程
1. 在服務器上安裝nlopt(注意不是nloptr栏笆,而是單獨的一個程序),參考nlopt的官網(wǎng)https://nlopt.readthedocs.io/en/latest/NLopt_Installation/梯啤,下載v2.7.1.tar.gz竖伯,按照說明安裝
cmake .?&&?make?&&?sudo?make?install
然而發(fā)現(xiàn)系統(tǒng)的cmake版本過低,nlopt需要3版本的cmake因宇,而服務器上的cmake是/usr/bin/cmake七婴,版本是2.8.12.2. 所以又下載了cmake,使用cmake的絕對路徑進行nlopt的編譯察滑,即
~/software/install/cmake-3.24.2-linux-x86_64/bin/cmake .
使用sudo權限打厘,成功將nlopt安裝到系統(tǒng)目錄,在/usr/local/lib64中可以看到libnlopt.so libnlopt.so.0 libnlopt.so.0.11.1 這些文件贺辰。然而户盯,重新安裝nloptr包還是失敗。
(中間根據(jù)其他人的帖子饲化,嘗試安裝libnlopt-dev莽鸭,我們服務器的unix是redhat版本,沒有apt吃靠。使用yum install也找不到libnlopt-dev硫眨,雖然在centos的rpm包官網(wǎng)上能找到libnlopt-dev,將其下載到本地巢块,用yum localinstall命令安裝這些包礁阁,但仍然失敗。)
2. nloptr的安裝信息中提示cmake出錯族奢。于是猜想姥闭,可能是nplotr在編譯過程中用的還是系統(tǒng)中2版本的cmake,所以我在.bashrc文件中將3版本的cmake添加到PATH中越走。然后使用“which cmake”查看cmake的路徑是否3版本的cmake棚品。然后再次安裝nplotr,成功廊敌。繼而安裝ggbubr南片,成功。
export PATH= ~/software/install/cmake-3.24.2-linux-x86_64/bin/:$PATH
小結
安裝3版本的cmake庭敦,并將其添加至環(huán)境變量,可成功安裝nloptr包薪缆,進而可成功安裝ggpubr包秧廉。