今天遇到一个非常棘手的问题,在用BiocManager安装一个R包clusterProfiler时,需要我把R包更新到4.0以上的版本。
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("clusterProfiler")
好吧,那我安装了R版本也在Rstudio上切换到了4.0版本
1623914701(1).png
但还是遇到了问题:
Error: package or namespace load failed for ‘clusterProfiler’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
不存在叫‘DO.db’这个名字的程辑包
而这个“DO.db”也安装不成功;
Error: package or namespace load failed for 'usethis':
package 'fs' was installed before R 4.0.0: please re-install it
这个问题看起来是我的library配置问题,用.libPaths查看一下
微信图片_20210617152741.png
并没有发现任何问题,这里第一个library是我的公共library,就是无论切换哪个版本的R,Rstudio都可以调用公共库里的R包,
1623914775(1).png
微信图片_20210617152807.png
连带着以前安装过可以用的ggplot2和devtools都用不了:
微信图片_20210617152815.png
经过了各种谷歌查看,结合多人经验以及自己思路的理清,才摸索出一条正确的道路
首先,我查看了系统环境变量中R_LIBS一系列的配置,我才发现只配置了R_LIBS_USER,当然如何配置公共R的library是很久以前配置的有点忘了,但估计是我的电脑出现系统环境变量配置问题后一不小心删除了另外两个。
Sys.getenv("R_LIBS")
Sys.getenv("R_LIBS_USER")
Sys.getenv("R_LIBS_SITE")
于是这里又在Windows系统环境变量里重新配置了一下如下所示
1623920357(1).png
在R里面确认一下
1623915884(1).png
配置完后还是不能加载公共库的包,是因为里面的包已经变了,因此需要更新一下里面的所有包
update.packages(ask = FALSE, checkBuilt = TRUE)
最后成功了,耶~!!
1623920660(1).png
今天又是无所事事,吐血的一天!!!