更新的R,复制的库,仍然可以';找不到软件包,并且可以';似乎没有安装所有依赖项

更新的R,复制的库,仍然可以';找不到软件包,并且可以';似乎没有安装所有依赖项,r,R,我使用installr更新了R,并要求复制我的库。(尽管我从未做过这项工作,但我一直希望有一天它会随着软件包的更新而更新。)打开RStudio,像往常一样,它找不到我旧库中的任何软件包。接下来,我将旧库中的所有文件复制到新库中,但有几个关键文件仍然不起作用。例如,当我尝试加载tidyverse时,我收到的消息是: 错误:“tidyverse”的包或命名空间加载失败:包“lazyeval”由具有不同内部结构的R版本安装;需要重新安装才能与此R版本一起使用 我尝试了remove.packages(“

我使用installr更新了R,并要求复制我的库。(尽管我从未做过这项工作,但我一直希望有一天它会随着软件包的更新而更新。)打开RStudio,像往常一样,它找不到我旧库中的任何软件包。接下来,我将旧库中的所有文件复制到新库中,但有几个关键文件仍然不起作用。例如,当我尝试加载
tidyverse
时,我收到的消息是:

错误:“tidyverse”的包或命名空间加载失败:包“lazyeval”由具有不同内部结构的R版本安装;需要重新安装才能与此R版本一起使用

我尝试了
remove.packages(“tidyverse”)
,然后
install.packages(“tidyverse”,dependencies=TRUE)
,但我仍然收到了关于包
lazyeval
的相同消息。我尝试安装
lazyeval
,但是,当我再次尝试使用
tidyverse
时,现在是
lubridate
由具有不同内部结构的R版本安装


我如何才能避免这个令人恼火且耗时的迭代过程,即尝试安装一个包,看到某些依赖包的内部结构是错误的,安装任何有问题的包,安装我真正关心的包,然后找出其他依赖项是什么问题?

tidyverse包几乎不包含任何内容:它的主要目的是加载一堆其他包。删除并更新它无助于更新其他包。你可以按照@phago29在评论中的建议去做,但更简单的方法是更新所有内容。在R会话中运行此命令:

update.packages(ask = FALSE, checkBuilt = TRUE)
请注意:

  • 如果您具有管理功能,请以管理员身份运行,它将更新您的主库。如果您不这样做,它将在您的用户帐户中安装新副本

  • 即使您说的是
    ask=FALSE
    ,它也可能会问一些关于是否可以从源代码构建包的问题。如果您的系统设置为这样做,请回答“是”,否则回答“否”。如果不确定,请尝试“是”,如果安装失败,请再次运行并说“否”。)

  • 这可能会持续一段时间,所以走开,喝杯咖啡什么的


    • tidyverse包几乎不包含任何内容:它的主要目的是加载一堆其他包。删除并更新它无助于更新其他包。你可以按照@phago29在评论中的建议去做,但更简单的方法是更新所有内容。在R会话中运行此命令:

      update.packages(ask = FALSE, checkBuilt = TRUE)
      
      请注意:

      • 如果您具有管理功能,请以管理员身份运行,它将更新您的主库。如果您不这样做,它将在您的用户帐户中安装新副本

      • 即使您说的是
        ask=FALSE
        ,它也可能会问一些关于是否可以从源代码构建包的问题。如果您的系统设置为这样做,请回答“是”,否则回答“否”。如果不确定,请尝试“是”,如果安装失败,请再次运行并说“否”。)

      • 这可能会持续一段时间,所以走开,喝杯咖啡什么的


      尝试一次删除
      tidyverse
      及其所有依赖项。然后您可以再次安装
      tidyverse
      。您可以使用
      tools::package\u依赖项(“tidyverse”,db=installed.packages())
      查找
      tidyverse的依赖项。然后使用
      remove.packages()
      删除它们。尝试一次删除
      tidyverse
      及其所有依赖项。然后您可以再次安装
      tidyverse
      。您可以使用
      tools::package\u依赖项(“tidyverse”,db=installed.packages())
      查找
      tidyverse的依赖项。然后使用
      remove.packages()
      删除它们。谢谢@user2554330,我正在尝试。它似乎起作用了。(对不起,我的电脑出了一些问题,因为一只猫和一杯水离我的笔记本电脑太近了,所以我花了一点时间才给你回复!)我收到了几条类似这样的消息:
      警告:库'C:/Program Files/R/R-3.6.2/library'中的软件包'lazyeval'将不会更新。
      。为什么这些不会被更新?嗯,我不确定为什么那些不会被更新,但他们似乎仍然存在!非常感谢。谢谢,@user2554330,我正在试这个。它似乎起作用了。(对不起,我的电脑出了一些问题,因为一只猫和一杯水离我的笔记本电脑太近了,所以我花了一点时间才给你回复!)我收到了几条类似这样的消息:
      警告:库'C:/Program Files/R/R-3.6.2/library'中的软件包'lazyeval'将不会更新。
      。为什么这些不会被更新?嗯,我不确定为什么那些不会被更新,但他们似乎仍然存在!非常感谢。