这是一个反复出现的问题,例如
- install.packages 中的错误:无法删除软件包“DBI”的先前安装</a>
- install.packages 中的警告:无法删除包“data.table”的先前安装</a>
- 无法在 R 中安装包预测
- 安装包 plyr 错误
- 无法安装软件包动物园
我多次遇到过这个问题。最烦人的是当它与一堆包一起发生时;例如我做类似的事情
update.packages(ask = FALSE)
并得到一些这样的错误。该错误虽然具有误导性,因为 R 往往会实际删除旧的软件包版本——但随后不会安装新版本。一旦发生这种情况,您将无法使用update.packages
;修复它 你必须从头开始重新安装它。
这个问题最令人沮丧的地方是它经常在安装依赖项时发生,因此例如我可能成功更新dplyr
,但在此过程中Rcpp
被删除。现在我无法加载dplyr
,因为Rcpp
丢失了,所以我需要重新安装Rcpp
.
我当前的解决方法(当卸载的软件包数量很大时)是关闭我所有的 R 会话,使用基本 R GUI(即不是 RStudio 或 RTVS)打开一个新会话并执行
lapply(dir(.libPaths()), install.packages)
它重新安装了我的整个库。这是矫枉过正。
有没有更好的方法来检查哪些文件夹中.libPaths()
实际包含包,以便我只重新安装丢失的包?
或者:有没有更好的方法来检查缺少的包依赖关系?