使用R的DBI、RSQLite连接数据库报错Rcpp缺少Rcpp_precious_remove函数
问题解决方法
报错根因
该报错是因为你的Rcpp包版本低于1.0.7,RSQLite v2.2.9及之后的版本依赖Rcpp_precious_remove函数,该函数仅在Rcpp 1.0.7及以上版本中提供,仅更新DBI、RSQLite包不同步更新Rcpp就会触发该报错。
解决步骤
- 完全关闭当前所有运行中的R进程,包括RStudio、VS Code R终端、命令行R会话等,避免包被占用导致更新失败
- 重新打开R,执行以下命令更新Rcpp包:
install.packages("Rcpp") - 安装完成后重新运行测试代码即可
- 如果更新后仍有问题,可以执行
remove.packages(c("DBI", "RSQLite", "Rcpp"))卸载三个包后,再按Rcpp→DBI→RSQLite的顺序重新安装即可
代码语法修正
你提供的测试代码存在语法错误,dbConnect后不要随意换行,正确写法如下:
library("DBI") con <- dbConnect(RSQLite::SQLite(), dbname = ":memory:") dbListTables(con)
内容的提问来源于stack exchange,提问作者Laxmi Agarwal
相关产品推荐
相关产品推荐

