因?yàn)橛械腞包需要R4才能安裝使用,原本是想直接升級(jí)R版本的,但是又害怕環(huán)境什么的裝不對(duì),牽一發(fā)而動(dòng)全身,導(dǎo)致服務(wù)器的R用不了,大家干不了活,那我就罪大惡極了,所以曲線救國(guó),在 conda新創(chuàng)建一個(gè)R4.0環(huán)境。
安裝命令如下:
conda create --name r4-base # r4-base是你的R的命名
conda activate r4-base
conda install -c conda-forge r-base
conda install -c conda-forge/label/gcc7 r-base
conda create --name r4-base

conda activate r4-base
conda install -c conda-forge r-base=4.2.3

遇到一個(gè)報(bào)錯(cuò):

上網(wǎng)搜,看到一個(gè)類(lèi)似問(wèn)題:https://blog.csdn.net/DJames23/article/details/109510050

里面說(shuō)刪除再裝回去就好,但是,這個(gè)怎么裝回去呢?這個(gè)裝回去看不懂后面的格式是什么意思啊。問(wèn)小伙伴,小伙伴叫我直接刪掉就好,保險(xiǎn)起見(jiàn),我還是改個(gè)名保留下來(lái)。然后重新跑了一遍代碼 conda install -c conda-forge r-base

然后發(fā)現(xiàn),這就直接會(huì)生成一個(gè),剛剛不知道怎么裝回去的問(wèn)題解決了。

最后一句:
conda install -c conda-forge/label/gcc7 r-base

搞定。
安裝完R環(huán)境后,要在.bashrc或.bash_profile中export 相應(yīng)的path:
export PATH="$PATH:/你的R4地址的bin/envs/r4-base/bin"
如果不export 相應(yīng)的path,R安裝包時(shí)就可能找不到相應(yīng)的程序,因?yàn)樗粫?huì)調(diào)用默認(rèn)的:
/bin/sh: x86_64-conda-linux-gnu-cc: command not found
那么,怎么在RStudio里切換R版本呢?
方法1:不同版本的R覆蓋/usr/local/bin下面的R,打開(kāi)RStudio就是更換版本后的R。
ln -sf ~/anaconda2/envs/r4-base/bin/R /usr/local/bin/R
方法2:添加環(huán)境變量,將RSTUDIO_WHICH_R環(huán)境變量設(shè)置為您想要運(yùn)行的R可執(zhí)行文件。(個(gè)人普通用戶(hù)更改無(wú)效)
export R studio _ WHICH _ R =~/anaconda2/envs/r4-base/bin/R
如果想運(yùn)行幾個(gè)R版本,可以在.bashrc或.bash_profile中創(chuàng)建別名。配置文件,例如:(親測(cè)只在終端有效,網(wǎng)頁(yè)版Rstudio還是默認(rèn)3.6版本)
alias R3.6.2=/usr/local/bin/R
alias R4.0.5=~/anaconda2/envs/r4-base/bin/R
如果方法2不行,是因?yàn)镽studio 默認(rèn)使用的是系統(tǒng)環(huán)境變量PATH里的R,而 Rstudio 通常是以管理員權(quán)限安裝的。管理員PATH里的 R 和普通用戶(hù)可能不一致。那么我們需要進(jìn)行一些配置,試試方法3。
方法3:打開(kāi)這個(gè)文件:/etc/rstudio/rserver.conf,配置下面兩行
rsession-which-r 配置使用的 R,跟服務(wù)器保持一致;
rsession-ld-library-path 配置 R模塊的安裝或者調(diào)用路徑,也跟服務(wù)器保持一致。
配置完成后,重新啟動(dòng) Rstudio 服務(wù)。
vi /etc/rstudio/rserver.conf
# rsession-which-r=/home/user/miniconda3/lib/R
rsession-which-r=~/anaconda2/envs/r4-base/bin/R
重啟Rstudio
sudo rstudio-server restart
sudo rstudio-server status # 查看Rstudio狀態(tài)
重新登錄就可以了。你會(huì)發(fā)現(xiàn) R的辦法,以及 R library 的路徑都一致了。但是這里又有一個(gè)問(wèn)題,我只是想在需要R4的時(shí)候才切換,方法3的話全部用戶(hù)開(kāi)啟Rstudio都會(huì)變成R4了,很多包都不能用,很多包都要更新或重新下載。還需要再研究研究。
參考:https://blog.csdn.net/swuteresa/article/details/25872627?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2defaultCTRLISTRate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2defaultCTRLISTRate-1.pc_relevant_default&utm_relevant_index=1
https://blog.csdn.net/u012110870/article/details/115511842?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_index=3