tidyverse未加载,显示“命名空间‘vctrs’0.2.0已加载,但需要>= 0.2.1”。

15
强调文本我一直在安装tidyverse包时遇到问题,这导致我无法执行许多文本处理任务。这个问题与2017年以来许多先前的线程中提到的问题相同,即当我输入library(tidyverse)或尝试打开其他相关包时,它们总是说需要0.2.1版本的vctrs。我已经尝试使用remote下载或下载其他临时版本,但都无济于事。有人能帮助我吗?

我正在使用最新版本的R(版本3.6.1),运行于Rstudio 1.2.5033。我还更新了vctrs包。

install.packages("tidyverse")
devtools::install_github("tidyverse/tidyverse")
library(tidyverse)
Error: package or namespace load failed for ‘tidyverse’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
 namespace ‘vctrs’ 0.2.0 is already loaded, but >= 0.2.1 is required
In addition: Warning message:
package ‘tidyverse’ was built under R version 3.6.2 


library(devtools)
devtools::install_github("tidyverse/tidyverse")
library(tidyverse)
Error: package or namespace load failed for ‘tidyverse’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
 namespace ‘vctrs’ 0.2.0 is already loaded, but >= 0.2.1 is required
In addition: Warning message:
package ‘tidyverse’ was built under R version 3.6.2 

也许尝试重新安装 vctrs - Rui Barradas
我尝试过了,但没有成功。 - Chris T.
@Chris T. 你是否已经打开了Rstudio?或者有其他的R实例正在运行吗?如果是这样,请关闭所有使用R的其他应用程序,然后打开一个新的实例。然后再尝试安装vctrs包。 - Edward
好的,给我几分钟时间,我会回复你们所有人的,希望这样可以解决问题 :-/ - Chris T.
如果这不起作用,退出R,然后在计算机上导航到vctrs文件夹。 在Windows上,它可能是这样的:C:\ Users \ Chris \ Documents \ R \ win-library \ 3.6 \ vctrs。 删除它。 打开R,再次尝试安装它。 - Edward
显示剩余4条评论
5个回答

15

这个问题已经在上面得到了解答,我留下我的笔记给遇到同样问题的其他“初学者”。在安装 tidymodels 后我遇到了这个问题(现已被移除)。

  • 首先出现了 rlang 问题:namespace ‘rlang’ 0.4.7 已经被加载,但需要 >= 0.4.10
  • 执行 remove.packages("rlang"),再执行 install.packages("rlang")
  • 然后又出现了 vctrs 问题:namespace ‘vctrs’ 0.3.2 已经被加载,但需要 >= 0.3.6
  • 无法通过 remove/install 解决。
  • 关闭 R,手动从 lib 中删除 vctrs 目录,例如:C:\Users\Chris\Documents\R\win-library\3.6\vctrs(参考 Edward 在上面的留言)。
  • 启动 RStudio,运行 install.packages("vctrs")

按照上述步骤处理后,就可以重新加载 tidyverse 包。


非常感谢,您在第3、5和6点的回答解决了我遇到的所有问题。我尝试了几个选项,但似乎有些选项只能解决其中一个问题,其他问题需要手动删除。 - Juano

6

检查软件包更新非常重要。在工具菜单中->检查软件包更新->选择包。我曾经遇到了与其他软件包"drc"相同的问题,并且旧版本的"vctr"也给了我同样的错误。


4

你可能有多个正在运行的R实例,这些实例都已加载了tidyverse包。在Windows操作系统中,如果使用了这些包,则这些DLL文件将被使用,并且您无法删除它们,而install.packages()函数正是要尝试这样做。

因此,只需关闭除一个之外的所有R实例,也许重启计算机以确保安全,然后再试一次即可。


1
这是一个非常有用的答案。因此,如果其他R实例正在运行并且DLL文件可能正在使用,允许安装是否不负责任?(或者说,试图install.packages()的R实例是否没有办法告诉这些DLL文件是否正在使用?)甚至不发出警告似乎有点鲁莽,但如果无法知道,这也是可以理解的。 - stevec
有点相关:https://stackoverflow.com/questions/60910034/effects-of-installing-a-package-without-restarting-r-first - stevec

1

我遇到了相同的问题:

命名空间'vctrs' 0.3.7已经被加载,但需要 >= 0.3.8版本。

我尝试了:

unloadNamespace("vctrs")

命名空间'vctrs'由'pillar'导入,因此无法卸载。

那么接下来:

install.packages("pillar")

它会自动重新启动 R 并重新安装 pillar。这对我很有用!

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接