为什么我在 install.packages 中收到警告:无法删除先前安装的软件包“tibble”权限已恢复“tibble”?

Why I get Warning in install.packages : cannot remove prior installation of package ‘tibble’Permission restored ‘tibble’?

我已尝试加载库 (tidyverse)。但是,我收到如下错误:

Error: package or namespace load failed for ‘tidyverse’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]): namespace ‘tibble’ 2.1.3 is already loaded, but >= 3.0.0 is required

我已经按照大家的建议去做了:

remove.package("tibble") 
install.packages("tibble")

但是,我得到这个错误:

Warning in install.packages :
  cannot remove prior installation of package ‘tibble’
Warning in install.packages :
  problem copying D:\Rlibraries[=13=]LOCK\tibble\libs\x64\tibble.dll to D:\Rlibraries\tibble\libs\x64\tibble.dll: Permission denied
Warning in install.packages :
  restored ‘tibble’

我发现路径有问题 - "D:\Rlibraries[=15=]LOCK\tibble\..."

我按照其他人在 Whosebug 上的建议检查了我的 .libPaths()。我明白了:

[1] "D:/Rlibraries"                      "C:/Program Files/R/R-3.6.3/library"

我认为问题在于路径 - “D:/Rlibraries/00LOCK”,因为我的默认库是 "D:/Rlibraries".

有人知道为什么会出现这种情况以及如何解开这个谜团吗?我以前从来没有遇到过这个问题。

我也遇到过这种情况,一个包安装出错了

其他人也遇到过这个问题,pacman包管理包中甚至还有一个function against this

Sometimes install.packages can "fail so badly that the lock directory is not removed: this inhibits any further installs to the library directory (or for –pkglock, of the package) until the lock directory is removed manually." p_unlock deletes the directory 00LOCK that is left behind.

您也可以手动执行此操作:停止所有 R / RStudio 会话,找到 00LOCK 目录(关闭 RStudio 时可能会消失),然后将其删除。

这 post 解释了 how to avoid the lock

pacman 包中的

p_unlock 对我不起作用。 我通过清除输出解决了这个问题(在 R Studio 中:Session -> Restart and Clear Output)。