windows上一下子就能安装好的R包,在linux上可能会出各种问题。主要是缺乏特定依赖库、编译工具版本太低两个问题。下面总结了在linux中安装R包的操作流程:
1 先使用`conda search`看看conda中有没有。如果有,直接:
mamba install r-seurat
注意,有的包在默认的conda channel里面是没有的,比如r-base就需要指定conda-forge这个channel。这时候需要使用conda config加上对应的channel,或者在命令中指定相应的channel:
mamba install -c conda-forge -c bioconda bioconductor-[r包名字]
比如安装monocle:
mamba create -n monocle -c bioconda -c conda-forge bioconductor-monocle
2 如果没有bioconductor上没有,那就在较新的操作系统(rocky linux优于centos, ubuntu 22优于ubuntu 20)中安装。低版本的系统,容易出现编译工具版本太低的问题。
3 如果没有新的操作系统,再尝试用旧的操作系统安装。
- 如果是编译工具版本的问题,尽量不要碰,换用别的方法。
- 如果是缺库,而且你有管理员权限,可以直接在系统安装相应的库文件。
4 如果在操作系统上直接安装的R不行,再尝试用conda里面的R来安装。由于R包的构建一般依赖系统的动态库,而conda里面的动态库常常是不全面的,所以很容易出现缺库的问题,因此直接使用install.packages()或者BiocManger::install()的方法来安装R包失败率很高。同理:
- 如果是编译工具版本的问题,尽量不要碰,换用别的方法。
- 如果是缺库,可以尝试用conda安装相应的库文件。
5 再不行,可以考虑:
- 更换电脑。
- 使用docker或者singularity来安装
- 如果这个R包有其他替代方案,使用其他软件
如果想要加速编译过程,可以换用rstudio的源。参考:https://zhuanlan.zhihu.com/p/687738179
使用conda安装的时候,可以切换国内的conda源。