R 包更新

R package updates

我在访问 R 包的更新版本时遇到了一些问题。

在 运行 进行数据分析的工作流程时,我收到此错误消息:

library(dplyr) Error: package or namespace load failed for ‘dplyr’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]): namespace ‘rlang’ 0.2.1 is already loaded, but >= 0.2.2 is required

因此我尝试更新 "dplyr" 和 "rlang" 包。

更新时我收到消息:

正在将软件包安装到“C:/Users/tomsp/OneDrive/Documents/R/win-library/3.5” (因为未指定“lib”) --- 请 select 一个 CRAN 镜像用于此 session --- 尝试 URL 'https://cran.ma.imperial.ac.uk/bin/windows/contrib/3.5/rlang_0.2.2.zip' 内容类型 'application/zip' 长度 820944 字节 (801 KB) 下载 801 KB

包“rlang”成功解压并检查了 MD5 和 警告:无法删除先前安装的软件包“rlang”

下载的二进制包在 C:\Users\tomsp\AppData\Local\Temp\RtmpmooXKa\downloaded_packages

然而,如果我使用下面的代码检查包,它仍然有版本 0.2.1

packageVersion("rlang") [1] ‘0.2.1’

我检查了我的库路径,但仍然没有运行包 rlang 的最新版本 (0.2.2)。

关于我做错了什么或如何解决这个问题的任何建议?

重新启动 R 并再次 运行 install.packages。在 Windows,如果包中包含已编译的 C/C++/Fortran 代码,则无法更新已加载的包。这包括 dplyr 和 rlang。

为了更加确定,在 运行 install.packages 之前,请转到您的 R 包目录 (C:/Users/tomsp/OneDrive/Documents/R/win-library/3.5) 并删除所有存在的零长度文件。这些是安装尝试失败的产物,如果存在,将会破坏 install.packages

出于任何原因,至少在 Windows 中,一些 R 进程可能仍然 运行 在后台。关闭当前的 R 会话,终止与 R 相关的所有进程,然后重试。

如果您正在使用 Windows,请检查您尝试升级的包是否仅作为源文件提供。

如果您尝试安装需要编译的包,您需要软件Rtools。在 cran.r-project.org/bin/windows/Rtools/ 下载它。更新 Rtools 也可能会解决您的问题。特定包的控制台消息是这样的:

                 binary source needs_compilation
      backports  1.2.0  1.2.1              TRUE

在 Linux 上,您不需要 Rtools,但当您在尝试安装或更新软件包时看到错误时,请阅读控制台输出。如果缺少某些软件,Linux 上的错误消息不言自明。

从本地计算机上的 R 包目录中删除了整个库。终止会话后再次安装。为我工作。