执行renv::init()提示tidy包不存在,但renv.lock无该包
解决
renv::init()提示「package 'tidy' is not available」的问题 排查依赖来源
- 检查项目内所有R脚本、Rmarkdown文件,确认是否存在
library(tidy)、require(tidy)或者直接调用tidy::xxx的代码——这类代码会被renv识别为项目依赖。 - 运行
installed.packages()查看全局已安装包列表,用tools::package_dependencies("tidy", reverse = TRUE)反向查找哪些已安装包依赖tidy包。
针对性解决步骤
- 清理无效依赖引用:如果是代码里误写了
library(tidy),改成library(tidyr)或者直接删除该行代码。 - 安装tidy包:注意tidy是独立于tidyr、tidyverse的包,先尝试从CRAN安装:
若CRAN无该包(可能已归档),用install.packages("tidy")devtools安装历史版本:library(devtools) install_version("tidy", version = "0.1.5") # 替换为实际可用的最新版本 - 重置renv状态:确认项目无需tidy包时,删除项目根目录的
.renv文件夹和renv.lock文件,关闭所有R会话后重新打开,再运行renv::init()。 - 检查全局配置:查看用户目录下的
.Rprofile或.Renviron文件,若存在强制加载tidy包的配置,删除对应行。
内容的提问来源于stack exchange,提问作者Yasin Amini
相关产品推荐
相关产品推荐

