【问题标题】:R package updatesR 包更新
【发布时间】:2023-07-02 23:49:01
【问题描述】:

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

在运行数据分析工作流时,我收到以下错误消息:

库(dplyr) 错误:loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) 中的“dplyr”的包或命名空间加载失败: namespace ‘rlang’ 0.2.1 已经加载,但是 >= 0.2.2 是必需的

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

更新时我收到消息:

将包安装到“C:/Users/tomsp/OneDrive/Documents/R/win-library/3.5” (因为“lib”未指定) --- 请选择本次会议使用的 CRAN 镜像 --- 尝试 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_pa​​ckages

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

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

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

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

【问题讨论】:

标签: r rlang


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      如果您使用的是 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 上的错误消息是不言自明的。

      【讨论】:

        【解决方案4】:

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

        【讨论】: