【问题标题】:Error installing packages using renv::restore()使用 renv::restore() 安装包时出错
【发布时间】:2020-07-01 21:09:57
【问题描述】:

我在使用 时遇到问题。对于更大的项目,我们希望使用 来拥有相同版本的 和我们所有的包。然而,一旦有更新版本的包可用并且我们运行renv::restore(),我们就会收到如下错误(请注意: 不是唯一的包。它也会发生在 graybox、mime、stringi 和许多更多)。

Error installing package 'RcppArmadillo':
=========================================

* installing *source* package 'RcppArmadillo' ...
** Package 'RcppArmadillo' successfully unpacked and MD5 sums checked
** using staged installation

   **********************************************
   WARNING: this package has a configure script
         It probably needs manual configuration
   **********************************************


** libs
Warning in system(paste(cmd, "shlib-clean")) 'make' not found
Warning in system(cmd) 'make' not found
ERROR: compilation failed for package 'RcppArmadillo'
* removing 'C:/Users/..../renv/staging/1/RcppArmadillo'
Error: install of package 'RcppArmadillo' failed

我现在有两个问题:

  1. 如何解决此错误?
  2. 如果 每次有新版本可用时都会崩溃,我们如何在整个团队中使用相同版本的包?

谢谢。 莉齐

【问题讨论】:

    标签: renv renv r rcpparmadillo renv r failed-installation rcpparmadillo renv


    【解决方案1】:

    这里的最终问题是renv 正在尝试从源代码安装这些软件包,因为这些旧软件包的二进制文件不再可从 CRAN 获得。这个问题有两种可能的解决方案:

    1. 考虑使用 MRAN checkpoint 作为您的 R 存储库。好处是这些旧包的二进制文件仍然可用;缺点是如果有更新的软件包可用,您将不会被告知。

    2. 安装必要的软件,以便您可以从源代码构建这些包。

    对于 2. 在 Windows 上,您需要安装 Rtools:

    https://cran.r-project.org/bin/windows/Rtools/

    您还可以使用renv::equip() 函数从源代码(例如nloptr)下载编译某些包所需的各种库。

    【讨论】:

    • 感谢您的回答。至少我现在明白问题所在了。对于我们的一些项目,切换到 MRAN 是不可能的,因为客户坚持使用 CRAN。但是对于某些项目,我们将尝试此选项。旁注:我已经安装了 Rtools,我的 IT 部门不允许我安装和使用软件从源代码构建这些软件包。
    猜你喜欢
    • 2021-08-07
    • 2022-10-13
    • 2021-05-22
    • 2019-09-06
    • 2021-05-15
    • 2015-08-16
    • 2019-03-05
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多