早些时候我已经基于R-4.0.3安装好了MAGeCKFlute,之前一段时间都可以正常使用,可是第二天在加载使用的时候突然就报错了:
package or namespace load failed for‘MAGeCKFlute’ in library.dynam(lib, package, package.lib):没有这个DLL ‘tidygraph’:是不是没有为此架构安装?按它的提示Install.package(“tidygraph”)还是不行。多次尝试后无果,就打算先卸载再次安装,按照官方安装方法
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("MAGeCKFlute")
结果提示错误: Bioconductorversion cannot be validated; no internet connection?
此外: Warning messages:
1: In file(con,"r") : InternetOpenUrl失败:’`拜(?
2: In file(con,"r") : InternetOpenUrl失败:’`拜(?
这是网络方面的问题,解决方法如下
options(download.file.method= 'libcurl')
options(url.method='libcurl')
再次使用BiocManager安装,结果加载的时候又出错了,错误: package or namespace load failed for ‘MAGeCKFlute’inget(Info[i, 1], envir = env):
lazy-load database 'C:/ProgramFiles/R/R-4.0.3/library/tidygraph/R/tidygraph.rdb' is corrupt
此外: Warning message:
In get(Info[i,1], envir = env) : internal error -3 in R_decompress1
这个错误的原因是在安装的时候会弹出一个提示框,我选了no,应该选yes。故再次安装,再加载library(MAGeCKFlute),结果还是不行
错误: package or namespace load failed for ‘MAGeCKFlute’: 'namespace:rvcheck'没有出口‘get_fun_from_pkg’这个对象,故安装rvcheck
install.packages("rvcheck'")
仍然不行,最后终于找到问题所在:最新的rvcheck (0.2.0) 有可能移除了get_fun_from_pkg,所以安装老一点版本的rvcheck。
devtools::install_version('rvcheck',version='0.1.8')
然后library(MAGeCKFlute),这次终于正常了。
花了小半天时间,为了解决这个问题我甚至又安装了最新版本的R。。。。
归结起来这是R和各种包不同版本的适应性问题,过程挺繁琐的,因为我平时更多的只是安装和使用一些包,对R软件本身不是很了解,不知是否有简单的方法。