本人因为m6A测序数据到手后需要用到m6A可视化的R包,因此在网上找到了一个新出的Funm6AViewer package包,然后捣鼓了好几天才成功安装上这个包,在这里记录一下,也为后面需要用到此包的同学提供一些经验。
先说一下我的安装环境:
操作系统:win10 LTSC
R:R-4.1.3
Rstudio:RStudio 2022.02.3 Build 492
Rtools:rtools40
首先按照指示:安装这些依赖包
结果没看清楚后面有个“version = "3.10"”,导致一直报错还找不到原因,后面将这句删除掉之后才开始安装。
安装完成之后,按照提示,输入:devtools::install_github("NWPU-903PR/Funm6AViewer")
开始安装之后,提示:没有这个DLL ‘Rcurl’:是不是没有为此架构安装?”
可恶,我明明之前安装了Rcurl的Windows binaries包啊,我在Rstudio里面输入library(Rcurl)也正常啊,没有报错。
难道是需要源码安装吗?
那就试试吧。
在R curl链接上下载Package source:RCurl_1.98-1.9.tar.gz源码包之后,在Rstudio里面安装install.packages("E:/RCurl_1.98-1.9.tar.gz", repos = NULL, type = "source"),结果又报错了!
fatal error: curl/curl.h: No such file or directory
好在在CSDN上面找到了解决办法:在Rstudio安装RCurl报错—fatal error: curl/curl.h: No such file or directory,评论区里面有位大佬说
那就试试吧。
找到C:\rtools40下面的mingw32.exe和mingw64.exe,双击打开之后
然后复制大佬的命令:pacman -Sy mingw-w64-{i686,x86_64}-curl
然后提示是否安装,果断选yes!
安装成功之后,打开mingw64.exe
输入上面同样的命令,然后果断输入yes。
安装成功之后,重新在Rstudio下输入install.packages("E:/RCurl_1.98-1.9.tar.gz", repos = NULL, type = "source")
很好,成功编译安装了。
library(Rcurl)也不报错。
然后继续devtools::install_github("NWPU-903PR/Funm6AViewer")
然鹅
又报错了!
这次提示我AnnotationDbi这个包有问题。
行吧,重新装一下,先remove.packages("AnnotationDbi"),然后BiocManager::install("AnnotationDbi")。
完成之后,library(AnnotationDbi),没报错。
就在我以为能继续安装的时候,结果还是报错!
那就只好再试试源码安装AnnotationDbi包了。
去bioconductor下载源码包:Bioconductor - AnnotationDbi,拉到最下面,下载 Source Package AnnotationDbi_1.44.0.tar.gz
重新去Rstudio安装,结果又是报错!
“没有这个DLL ‘RSQLite’:是不是没有为此架构安装?”
我印象中是有这个包的啊
library(RSQLite)也是正常的啊
那就直接源码安装吧
CRAN - Package RSQLite (r-project.org)下载源码包,在Rstudio安装
嗯,这次没有报错,安装成功了。
那就继续安装AnnotationDbi源码包
成功安装了!
那就可以继续devtools::install_github("NWPU-903PR/Funm6AViewer")了。
结果还是报错!
这次是org.Hs.eg.db包报错
报错大概意思是:org.Hs.eg.db要求的AnnotationDbi版本试>=1.5.5,但是我在bioconductor里面找到的最新的AnnotationDbi包也才1.4.4啊!
那应该是我的org.Hs.eg.db包太新了。
于是我又去bioconductor下载了org.Hs.eg.db_3.5.0.tar.gz的源码。
在Rstudio里面重新安装了之后,继续devtools::install_github("NWPU-903PR/Funm6AViewer")
然而,又报错了!
这次是XML包报错了:“没有这个DLL ‘XML’:是不是没有为此架构安装?”
又是个需要源码安装的包!
去CRAN下载XML的源码文件之后,开始安装,结果又是报错。
“libxml/parser.h: No such file or directory”
百度发现,这个报错好像大部分发生在linux系统上,好不容易在GitHub上面找到类似的问题从源代码 Rtools40 进行 XML 安装 ·问题 #3 ·R-Windows/Rtools-installer ·GitHub
里面有提到 pacman -S mingw-w64-{i686,x86_64}-libxml2
那就再去C:\rtools40下面的mingw32.exe和mingw64.exe里面输入这段代码试试
在里面安装好libxml2包之后,再去Rstudio安装XML源码包,结果还是报错!
提问者有提到“XML包不会自动在libxml2上获取”,但是他评论后面贴出来的链接挂了,唉。
然后又看到有这篇文章libxml常见错误:fatal error: libxml/parser.h: No such file or directory解决方法 - 代码先锋网 (codeleading.com),我猜想是不是libxml2包已经在rtools里面下载安装好了,但是还需要像这里面一样建立一个软连接?
于是,打开C:\rtools40下面的mingw32.exe,输入ln -s C:/rtools40/mingw32/include/libxml2/libxml C:/rtools40/mingw32/include/libxml,回车。
再打开mingw64.exe,输入ln -s C:/rtools40/mingw64/include/libxml2/libxml C:/rtools40/mingw64/include/libxml,回车。
再回到Rstudio,继续安装XML的源码包,成功了!
继续devtools::install_github("NWPU-903PR/Funm6AViewer")
成功了!
library(Funm6AViewer)也没有报错。
这次解决这些报错虽然过程比较坎坷,但还是收获颇丰啊!