Linux下无root权限安装R语言(conda安装和普通安装)
如果没有root权限/sudo权限,个人建议用conda安装,如果基础环境出现缺失的包,可以方便的补全,后期conda命令安装R包也方便。
附:conda安装
如果有conda环境,几行命令行解决。如果是小白参考该文。
# 创建名字为renv的conda虚拟环境(名字随意起)
conda create -n renv
# 激活环境
conda activate renv
# 安装(以R 4.1.3 版本为例,安装其他版本更换4.1.3即可)
conda install -c conda-forge r-base=4.1.3
普通安装方式如下:
1.下载安装R
# /home/wangwz/packages/R/R-4.3.1下载安装R4.3.1
wget http://mirrors.ustc.edu.cn/CRAN/src/base/R-4/R-4.3.1.tar.gz
tar -zxvf R-4.3.1.tar.gz
cd R-4.3.1
# 注1:R-4.0 以上在 configure 时,需要增加一个 --with-pcre1 参数。
# 注2:如果想要在其他语言中集成 R 就必须选择--enable-R-shlib选项,将 R 编译成 lib 模式(建议打开!)
./configure --with-readline=no --with-x=no --with-pcre1 --enable-R-shlib --enable-BLAS-shlib --with-blas --with-lapack --prefix=/home/wangwz/packages/R/R-4.3.1
make
make install
注:
- 关于 R 相关的动态库(--enable-R-shlib选项):
- R 编译的过程中,如果想要在其他语言中集成 R 就必须选择--enable-R-shlib选项,将 R 编译成 lib 模式,在此模式下,会生成
path-to-R/lib/libR.so
库——将 R 编译成动态库(libR.so),然后 R 的执行程序与之链接; - 例如,如果不编译生成 libR.so,在安装 rpy2(Python 中的 R 语言接口模块) 时就无法正确编译,还可能报错 loading shared libraries: libR.so: site:stackoverflow.com。
- 同时,确保同目录下 libRblas.so,libRlapack.so 两个链接库也被正确生成,这两个库默认会生成,如果没有,需要添加参数:
--enable-BLAS-shlib --with-blas --with-lapack
;
- 安装其他低版本的R语言时,可能会遇到:error: libcurl >= 7.28.0 library and headers are required with support for https。
- 如果不必构建该版本,那么最简单的解决方案就是切换到 4.3.0 或更高版本(理想情况下是 4.3.1,即当前版本);4.3.0 及更高版本支持使用libcurl8 进行构建。
- 如果必须构建该版本:解决方法。
如果安装过程中出现问题,可以参考该文章
2. 配置环境
在 linux中设置环境变量一般使用bash_profile进行配置,环境变量分为两种:
/etc/bash_profile
表示系统整体设置 ,生效后系统内所有用户可用。(需要root权限)~/.bash_profile
只表示当前用户的个人设置,生效后只该用户可用。
这里只介绍配置个人环境,方法如下:
vi .bash_profile
# 按"i"可编辑,“ESC”键停止编辑,":wq"退出
export PATH="$PATH:/home/wangwz/packages/R/R-4.3.1/bin"
source .bash_profile
3. 命令
# 查看R版本
R --version
# 查看R包路径(进入R环境)
> .libPaths()
4.安装R工具包
# tidyverse镜像安装
install.packages ("tidyverse",repos="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
# git安装
devtools::install_github('chris-mcginnis-ucsf/DoubletFinder')