2

我在使用问题。对于一个更大的项目,我们希望使用来拥有相同版本的和我们所有的包。然而,一旦有更新版本的包可用并且我们运行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. ,我们如何在整个团队中使用相同版本的包如果每次有新版本可用

谢谢你。莉齐

4

1 回答 1

2

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

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

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

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

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

您还可以使用该renv::equip()功能从源(例如,nloptr)下载编译某些包所需的各种库。

于 2020-03-21T04:42:32.817 回答