Linux 安装R

Linux系统:Ubuntu18.04 x86_64,系统具体的型号查看:

uname -a

Windows系统中安装R比较简单,傻瓜式安装即可,但是在Linux系统中本地安装R非常繁琐,坑比较多总会提示缺少各种包;可以先尝试这两个教程:
Ubuntu18.04与Ubuntu20.04 下快速安装R 与rstudio - 简书 (jianshu.com)
(1条消息) 服务器ubuntu 18.04安装RStudio Server(安装最新版r-base 4.1.1)_r4.1.1对应的rstudio_hyena_7的博客-CSDN博客

如果不行的话只能本地安装。

首先找到R的安装包:
Index of /CRAN/src/base/R-4/ (ustc.edu.cn)
可以选择其中一个版本的,然后在Linux中解压安装包

tar -zxvf R-4.2.0.tar.gz
cd R-4.2.0
sudo ./configure  --enable-R-shlib=yes --with-x=yes --with-readline=yes
sudo make
sudo make install

然而在第一步

sudo ./configure  --enable-R-shlib=yes --with-x=yes --with-readline=yes

会遇到很多问题,主要是在configure checking的时候缺少各种安装包。文件夹下面的configure文件也可以下载下来打开自己看,不过很长也不太看得出问题,一般是报什么错解决什么问题;

比如像下面这样就是bzip2没有安装:

checking whether bzip2 support suffices... configure: error: bzip2 library and headers are required

下载bzip2安装包:
Index of /pub/bzip2 (sourceware.org)
然后打开并安装

tar -zxvf bzip2-latest.tar.gz
cd bzip2-1.0.8
sudo make -f Makefile-libbz2_so
## 需要先修改Makefile其中两行。
vim Makefile
CC=gcc -fPIC
CFLAGS=-Wall -fPIC -Winline -O2 -g $(BIGFILES)

如下图所示,添加了-fPIC

image.png

然后接着装bzip2

sudo make
sudo make install

上面的命令可能还是会报错,可能会提示缺少包,安装一下就行

sudo apt-get install xxx

再回到R的安装,重新运行:

sudo ./configure  --enable-R-shlib=yes --with-x=yes --with-readline=yes

还是有报错:

configure: error: PCRE2 library and headers are required, or use --with-pcre1 and PCRE >= 8.32 with UTF-8 support

缺少pcre的包,还是重复上面的安装步骤,下载:

  1. https://nchc.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz
  2. http://www.pcre.org/

然后:

tar -zxvf pcre-8.42.tar.gz
cd pcre-8.42
sudo ./configure
sudo make
sudo make install

如果还是有问题的话试试:

sudo apt-get install pcre-devel

如果安装成功的话可以打印 pcre的版本:

pcre-config --version

不过要注意的是pcrepcre2是有区别的,也有的地方装的是pcre2
linux 中安装 pcre2库 - 小鲨鱼2018 - 博客园 (cnblogs.com)

安装完之后,继续运行:

sudo ./configure  --enable-R-shlib=yes --with-x=yes --with-readline=yes

还是有报错:

configure: error: "liblzma library and headers are required"

缺少liblzma包;

wget https://tukaani.org/xz/xz-5.2.4.tar.gz
tar -zxvf xz-5.2.4.tar.gz
cd xz-5.2.4/
sudo ./configure
sudo make
sudo make install

或者也可以用:

 sudo apt-get install liblzma5

之后继续运行./configure xxx
还有报错:

configure: error: libcurl >= 7.22.0 library and headers are required with support for https

需要安装libcurl

wget https://curl.haxx.se/download/curl-7.61.0.tar.gz
tar -zxvf curl-7.61.0.tar.gz
cd curl-7.61.0/
sudo ./configure
sudo make
sudo make install

安装成功后查看libcurl的版本:

curl -V

最后终于没有报错了:

sudo ./configure  --enable-R-shlib=yes --with-x=yes --with-readline=yes
sudo make
sudo make install

安装完成,查看版本:

R --version

另外,安装过程中,卸载某一个包:

sudo apt remove xxx

最后查看是否安装成功并查看安装的位置:

R
> .libPaths()
image.png

完结撒花🌼🌼🌼

Reference

所有问题

史上最麻烦的linux下R源码安装(有/无root权限) - 简书 (jianshu.com)
Ubuntu18.04与Ubuntu20.04 下快速安装R 与rstudio - 简书 (jianshu.com)

pcre相关

linux 中安装 pcre2库 - 小鲨鱼2018 - 博客园 (cnblogs.com)
Linux 安装 pcre - 水车 - 博客园 (cnblogs.com)

补充

由于是服务器安装,所以可以再安装一个Rstudio Sever用于远程使用:

sudo apt-get install gdebi-core
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2021.09.0-351-amd64.deb
sudo gdebi rstudio-server-2021.09.0-351-amd64.deb

安装之后就直接启动了Rstudio Sever,打开只需要在浏览器中输入:

IP:8787

即可远程使用服务器中的Rtudio

再次补充:

Rtudio中安装一些R包的时候,比如:

install.package('xlsx')

发生了错误,提示和Java相关;
需要安装一下Java并配置一下环境:
安装包:Java Downloads | Oracle
下载之后,先创建安装位置,然后解压到安装位置:

sudo mkdir /usr/local/java/
tar xvf xxx.tar.gz -C /usr/local/java

环境和配置:


image.png
vim ~/.bashrc
xxx
source ~/.bashrc

也可以在/etc/profile里面在配置和激活一下;
验证安装是否成功

java -version

然后配置JAVAR

sudo R CMD javareconf

如果上面还是不行的话可以试试:
R语言学习:Linux系统安装rJava包,ML实验数据集,查看安装的R包,Shiny书籍,绘制组间均值和置信度图形 - 知乎 (zhihu.com)

sudo apt-get install -y default-jre
sudo apt-get install -y default-jdk

具体安装R的包,建议先在Ubuntu Ternimal中打开R并安装相应的包,可以看到具体的报错信息:

R
> install.package('rJava')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容