在Windows上安装软件包devtools和caller时出现问题

时间:2019-07-04 12:59:03

标签: r windows devtools

安装软件包devtools我收到了以下消息

There are binary versions available but the source versions are later:
         binary source needs_compilation
processx  3.3.1  3.4.0              TRUE
callr     3.2.0  3.3.0             FALSE

此外:

* installing *source* package 'callr' ...
** package 'callr' successfully unpacked and MD5 sums checked
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = 
vI[[j]]) : 
namespace 'processx' 3.3.1 is being loaded, but >= 3.4.0 is required

ERROR: lazy loading failed for package 'callr'
* removing 'C:/Users/Standard/Documents/R/win-library/3.6/callr'
Warning in install.packages :
installation of package ‘callr’ had non-zero exit status

然后我尝试更新processx软件包,希望它可以解决此问题:

install.packages("processx")
library(processx)

RStudio要求我重新启动R会话,但是然后

> install.packages("devtools")
ERROR: lazy loading failed for package 'callr'
* removing 'C:/Users/Standard/Documents/R/win-library/3.6/callr'
Warning in install.packages :
installation of package ‘callr’ had non-zero exit status

我在做什么错了?

编辑,我尝试通过这种方式安装processxcallr及其依赖项

install.packages("processx", dependencies=TRUE)
library(processx)
install.packages("callr", dependencies=TRUE)
library(callr)

但是我得到了消息:

Error in library(callr) : there is no package called ‘callr’

1 个答案:

答案 0 :(得分:2)

我有同样的问题。我认为您的问题是,需要安装最新的Rtools版本。安装Rtools之后,Devtools将正确安装,包括对调用方和processx的依赖关系。因此,请执行以下操作:

  1. 从Rversion文件夹下的库文件夹中删除调用程序,processx和devtools程序包。
  2. 关闭Rstudio或R shell。
  3. 从此站点下载推荐版本: https://cran.r-project.org/bin/windows/Rtools/ 请按照此处的说明进行操作:http://jtleek.com/modules/01_DataScientistToolbox/02_10_rtools/#6
  4. 在安装了rtools和devtools之后,请使用find_rtools()检查是否为真

现在也应该安装调用程序和processx,就像在库文件夹中看到的那样。