R4.2.0加载clusterProfiler等包提示patchworkGrob未导出报错
故障场景
- 运行环境:R 4.2.0
- 故障表现:
clusterProfiler、enrichplot两个R包安装后无法正常加载 - 已做操作:当前环境装有最新版
patchwork 2.4,尝试卸载patchwork后通过devtools安装早期版本,报错未消失 - 触发报错信息:
Error: package or namespace load failed for 'clusterProfiler': object 'patchworkGrob' is not exported by 'namespace:patchwork'
根因说明
patchwork从1.2.0版本开始移除了导出对象patchworkGrob,之前安装旧版patchwork未生效的常见原因包括:安装后未重启R会话导致内存中仍残留新版patchwork命名空间、安装时未指定准确兼容版本、未强制覆盖原有安装文件,最终导致包版本依赖不匹配。
修复操作步骤
- 完全关闭当前R/RStudio进程,重新启动全新空会话,启动时跳过历史工作空间自动加载。
- 彻底卸载现有版本的三个关联包,在R控制台运行:
remove.packages(c("patchwork", "clusterProfiler", "enrichplot"))
- 安装兼容版本的patchwork,指定版本为1.1.2,运行:
devtools::install_version( "patchwork", version = "1.1.2", upgrade = "never", force = TRUE )
- 验证patchwork安装正确性,运行以下命令,若输出结果为
TRUE则版本符合要求:
library(patchwork) "patchworkGrob" %in% ls("package:patchwork")
- 安装适配R4.2.0版本的clusterProfiler和enrichplot,R4.2.0对应Bioconductor 3.15版本,运行:
if (!requireNamespace("BiocManager", quietly = TRUE)) { install.packages("BiocManager") } BiocManager::install( c("clusterProfiler", "enrichplot"), version = "3.15", update = FALSE, force = TRUE )
- 加载验证,无报错即修复完成:
library(clusterProfiler) library(enrichplot)
注意:安装全程不要提前加载其他绘图相关R包,避免依赖冲突。
内容的提问来源于stack exchange,提问作者Sb1249
相关产品推荐
相关产品推荐

