服务器上3.6版本的R老掉牙,升级R之后配套升级Rstudio。一起似乎都很顺利,但是总是报这个错误
“ERROR Unable to find libR.so in expected locations within R Home directory cannot find system Renviron ......”。
起初我以为是因为缺少libR.so库引起,按照网络教程安装libR.so库并搭建对应软链接,但依然报错。翻来覆去试了一堆东西都不行,返璞归真看到了Renvrion这里
locate Renviron
屏幕输出如下:
/etc/R/Renviron.site
/etc/R/Renviron.site.dpkg-old
/home2/yjy/R/R-4.2.0/etc/Renviron
/home2/yjy/R/R-4.2.0/etc/Renviron.in
/home2/yjy/R/R-4.2.0/src/library/base/man/readRenviron.Rd
/home2/yjy/R/R-4.2.0/src/main/Renviron.c
/home2/yjy/R/R-4.2.0/src/main/Renviron.d
/home2/yjy/R/R-4.2.0/src/main/Renviron.o
/home2/yjy/R/lib/R/etc/Renviron
/opt/conda/pkgs/r-base-3.5.1-h1e0a451_2/lib/R/etc/Renviron
/shared/conda/envs/darts/lib/R/etc/Renviron
/usr/lib/R/etc/Renviron
/usr/lib/R/etc/Renviron.orig
/usr/lib/R/etc/Renviron.site
/usr/lib/R/etc/Renviron.ucf
/usr/local/lib/R-4.2.0/etc/Renviron
/usr/local/lib/R-4.2.0/etc/Renviron.in
/usr/local/lib/R-4.2.0/src/library/base/man/readRenviron.Rd
/usr/local/lib/R-4.2.0/src/main/Renviron.c
/usr/local/lib/R-4.2.0/src/main/Renviron.d
/usr/local/lib/R-4.2.0/src/main/Renviron.o
看起来似乎没问题,用ls -la查看了两个Renvrion文件,一看不得了,/usr/lib/R/etc/Renviron其实是个软链接,指向的原文件/etc/R/Renviron根本不存在!赶快进行如下操作:
ln -s /usr/local/lib/R-4.2.0/etc/Renviron /etc/R/Renviron
chmod 644 /etc/R/Renvrion
rstudio-rserver restart
然后再次登录rstudio,一切正常,使用rstudio-rserver status看了下服务状态,也没问题
这个问题的解决受到了http://cn.voidcc.com/question/p-efydnqzy-gz.html的启发,但是没有找到原贴作者,再次感谢!