学习某些生物数据分析重要的R包时,极有可能第一步安装R包就被卡住。学习R的过程中也积累了很多R包安装不上的解决方法,希望对大家有所帮助。这里以phyloseq包为例,尝试多种安装方式。
1. 直接安装R库中的包
# 一种使用r base的安装方式
if (!requireNamespace("phyloseq", quietly = TRUE))
install.packages("phyloseq") # repos参数可以设置安装源,?install.packages可以查看更多参数意义
# Bioconductr包可以使用BiocManager安装
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("phyloseq")
2. 安装github上的包
# 2.1 使用githubinstall包安装
install.packages('githubinstall')
library(githubinstall)
githubinstall('phyloseq')
如果找不到的话,就去github上搜,然后直接找到作者和软件
例如:hippo-yf 作者, MUREN 包
remotes::install_github("hippo-yf/MUREN")
# 2.2 使用devtools包安装
install.packages('devtools')
library(devtools)
install_github("joey711/phyloseq")
或者:
install.packages("devtools")
install.packages("rJava")
library(rJava)
library(devtools)
# From github
install_github("github_user_name/package_name")
# From local
devtools::install_local("path_to_package_file.zip")
注:install_github()从软件作者github库安装,可能安装失败,自己有github账号的同学,可以先将phyloseq项目保存到自己账号,然后再使用devtools安装。
3. conda安装R包
使用conda安装R包的前提是你的电脑/服务器中安装有conda。默认安装到环境变量中的r-base。
# 3.1 conda 安装特定R
conda create -n R4.0 # 为4.0版本r单独创建conda环境
conda activate R4.0
conda install r-base==4.0.3 # 安装R 4.0.3版本,==表示精确匹配,=表示模糊匹配
conda install r-phyloseq # 安装phyloseq包,服务器上很多包都可以这样安装,有时候会显示找不到这个包,说明conda的源中找不到这个包,可以添加新的源。有时会显示连接中断,可以把包下载下来,本地安装。
# 3.2 conda本地安装包
cd ~/Anaconda/pkgs # 将下载的包放在conda放安装包路径中进行本地安装
conda install --use-local phyloseq_1.36.0.tar.gz # 我没有成功过
4. 本地安装R包
将需要安装的R包下载下来,可以在电脑/服务器上打开R进行安装,也可以不打开R直接在服务器上进行安装。本地安装的弊端时,不能同时解决依赖包问题,因为依赖包安装失败时,需要手动安装依赖包。
# 4.1 打开R后,进行安装,需要将下载的R包放入工作环境中
wget http://bioconductor.org/packages/release/bioc/src/contrib/phyloseq_1.36.0.tar.gz
install.packages("phyloseq_1.36.0.tar.gz", repos = NULL, type="source")
## 或者直接用下载链接安装,但是有可能出现连接中断或超时
install.packages("http://bioconductor.org/packages/release/bioc/src/contrib/phyloseq_1.36.0.tar.gz", repos = NULL, type="source")
## 使用github上的master分支进行安装,很大概率会报错
install.packages("https://github.com/joey711/phyloseq/archive/refs/heads/master.zip", repos = NULL, type="source")
# 4.2 服务器安装,不需要打开R,直接在终端输入下列代码
R CMD INSTALL phyloseq_1.36.0.tar.gz
注:repos用于指定安装源,如果知道确定的源,可以直接repos=“源链接”,因为有源也会经常遇到连接中断问题,所以我一般下载下来安装。本地安装时会报缺少某些依赖包的错,依次根据上面的各种方法安装完依赖包,再重新运行上面的安装代码即可。
5. 安装R某个分类的全部包
R中将R包按照系统发育分析、统计学等进行分类。使用ctv包可以按照分类安装/更新整个分类中的R包。
# 以系统发育分析分类为例
install.packages("ctv")
library("ctv")
install.views("Phylogenetics") # 安装
update.views("Phylogenetics") # 更新
citation(package = "ctv") # R包引用信息
有时候,上面所有方法都试了,还是有包安装不上。因为R包还依赖本地一些其它环境,比如gcc版本问题。每个安装命名还有很多参数需要设置。网上实在搜索不到安装方法,可以试着联系包作者。看作者有没有办法。
# 可以试着运行以下命令,避免安装软件出错
conda install gcc_linux-64
conda install gxx_linux-64
conda install gfortran_linux-64
一起加油吧!🥳🥳🥳