R中执行library(tidyverse)加载失败,提示namespace导出未定义报错
R语言加载tidyverse包报错问题解决
错误:在namespaceExport(ns, exports)中加载‘tidyverse’的包或命名空间失败:存在未定义的导出项:check_dots_empty、check_dots_unnamed、check_dots_used、safe_median。此外还有警告信息:1: 包‘tidyverse’是在R version 3.6.3版本下构建的;2: S3方法‘safe_median.numeric’已在NAMESPACE中声明但未找到
报错原因
- 依赖包版本不匹配:报错中提到的
check_dots_*系列函数是rlang包的导出项,safe_median是vctrs包的导出项,本地安装的这两个底层依赖包版本过低,和当前的tidyverse版本不兼容,无法提供对应函数。 - R版本适配问题:安装的tidyverse包是基于R 3.6.3构建的,若本地运行的R版本低于3.6.3,也会触发命名空间加载异常。
解决方案
- 优先尝试更新tidyverse及其所有依赖,在R控制台运行以下命令:
install.packages("tidyverse", dependencies = TRUE) - 若更新后仍报错,单独更新核心依赖包:
install.packages(c("rlang", "vctrs", "pillar")) - 若上述操作无效,检查本地的R版本,若版本低于3.6.3,升级R到稳定新版本后重新安装tidyverse即可。
- 若无法升级R版本,可以下载适配当前R版本的旧版tidyverse源码包,本地手动安装即可。
内容的提问来源于stack exchange,提问作者Meri Darragjati
相关产品推荐
相关产品推荐

