centos7安装R包出错
2020-05-07 本文已影响0人
灵木er
![](https://img.haomeiwen.com/i12642813/10718e1b245acd6e.png)
安装R语言的car包老是出错,也没有提示缺少什么依赖,在安装了众多可能的依赖后依然报错,不知道啥原因。最后,决定试试运气手动安装car包依赖的第一个报错的R包---RcppEigen,从报错的信息中依旧没看出来门道,然后就将报错信息用必应搜索,找到了RcppEigen Issues,发现有人已经提出了这个问题,有人说:
Eigen take a lot of ram to compile.
突然意识到我的云服务器内存只有2g,可能就是内存太小吧。云服务器是腾讯的1核2g低配版,系统是centos7,我也不能加钱买内存啊,那么贵,我也没钱。咋办呢?试试虚拟内存吧。然后就是一顿操作,说白了就是百度centos7创建虚拟内存。简单点就是dd创建swap文件,mkswap格式化刚创建的swap文件为虚拟内存格式,swapon挂载swap分区,修改fstab文件使其可以自动挂载。具体命令如下:
dd if=/dev/zero of=/swap bs=1M count=2048 # 创建大小为2g的文件
mkswap /swap # 格式化为虚拟内存格式 记下uuid号
chmod 0600 swap # 如果没有这步更改权限会有warning
swapon /swap # 启动swap分区,关闭命令为swapoff
# 修改/etc/fstab文件,使其自动挂载
vim /etc/fstab
# 添加行
UUID=8363081c-bccb-4c69-9e41-d92e23176409 swap swap default 0 0
# 添加后如下图
![](https://img.haomeiwen.com/i12642813/feb0a12e4338a363.png)
然后安装R的car包就不会编译出错了,完美。
参考链接1为编译出现问题的原因,2为简略版centos7创建swap分区,3为对swap分区的详细介绍。
参考:
[1]https://github.com/RcppCore/RcppEigen/issues/53
[2]https://blog.csdn.net/qq_29235677/article/details/97149459
[3]https://blog.csdn.net/ygm_linux/article/details/24532809