服务器上安装R-3.4.2
R是统计学中常用的分析和画图工具,Bio3D等轨迹处理软件需要预先安装R。然而在服务器集群上安装R-3.4.2时,会遇到软件缺失或版本过低等问题。故将科学网上的一篇博客里介绍的方法搬运至此,以作备忘。
首先,在configure
之后遇到如下问题: 1
2checking if bzip2 version >= 1.0.6... no
checking whether bzip2 support suffices... configure: error: bzip2 library and headers are required
简单来说,就是从16年开始,R的新版本去除了一些原来包含在安装包里的包,并默认这些包已经安装在你的系统里,这时候,如果你用的是自己本地较新的linux/mac/windows版本,默认已经装好这些包,即使没有也能够很快安装或者更新这些包。但是,如果你是在服务器集群上,没有管理员权限,需要将这些包先安装在自己的目录下,然后才能调用,而关键的问题就是调用时的环境变量如何设置。
根据这篇博文给出的解决方法,首先新建个目录用来安装所有需要装的包(比如:/HOME/packages),然后将需要安装的软件包都装到这个目录下,并设置好环境变量(这个过程最关键),之后再configure/make/make install安装R-3.4.2就可以了,其中还有一些细节问题下面会提到。
安装R-3.4.2过程中需要安装的包主要有:bzip2、xz、pcre和curl,该博文还提到了zlib,不过可能我的服务器上zlib已经更新过了,安装过程中并没有报错。
下载和安装bzip2:
1 | cd ~/src |
注意:这里下载完bzip2后,需要修改Makefile文件,在CFLAGS这个变量后面添加-fPIC
,否则后面安装R的时候会报错。
安装xz包:
1 | cd ~/src |
安装pcre包:
1 | cd ~/src |
安装curl包:
1 | cd ~/src |
设置安装好的包的环境变量(!这步最重要):
1 | export PATH=/HOME/packages/bin:$PATH |
前两个是安装R的make
过程需要用到的,后两个是configure
过程需要用到的。
最后就是安装R-3.4.2:
1 | cd ~/src/R-3.4.2 |
将R-3.4.2的路径添加到环境变量。
使用Anaconda安装R和管理R包
UPDATE2020: 使用上述方法安装R时,configure过程中会报错 configure: error: libcurl >= 7.22.0 library and headers are required with support。于是改用 Anaconda进行安装:
安装R
1 | conda config --add channels r |
R包管理
两种方法,一种是进入R中使用install.packages('pkg-name')
安装;另一种为使用conda安装conda
install -c r
pkg-name,需要注意的是conda下面的R包的名称与常用的名称可能不一样,具体名称需要在网上查询。