首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将devtools的兼容版本安装到R3.5.1?

如何将devtools的兼容版本安装到R3.5.1?
EN

Stack Overflow用户
提问于 2021-02-13 21:45:57
回答 1查看 693关注 0票数 0

目标

我想安装devtools到我的版本的R版本3.5.1。

问题

当我安装这个包devtools时,我会得到以下错误:

代码语言:javascript
复制
here are binary versions available but the source versions are later:
         binary source needs_compilation
processx  3.4.2  3.4.5              TRUE
callr     3.4.3  3.5.1             FALSE
covr      3.5.0  3.5.1              TRUE
ellipsis  0.3.0  0.3.1              TRUE
jsonlite  1.6.1  1.7.2              TRUE
pkgbuild  1.0.6  1.2.0             FALSE
pkgload   1.0.2  1.1.0              TRUE
rlang     0.4.5 0.4.10              TRUE
roxygen2  7.1.0  7.1.1              TRUE
devtools  2.3.0  2.3.2             FALSE


....
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : 
  namespace 'processx' 3.4.2 is being loaded, but >= 3.4.4 is required

ERROR: lazy loading failed for package 'callr'
* removing 'C:/Users/User/AppData/Local/R/win-library/3.5/callr'
In R CMD INSTALL
Warning in install.packages :
  installation of package ‘callr’ had non-zero exit status

ERROR: dependency 'callr' is not available for package 'pkgbuild'
* removing 'C:/Users/User/AppData/Local/R/win-library/3.5/pkgbuild'
In R CMD INSTALL
Warning in install.packages :
  installation of package ‘pkgbuild’ had non-zero exit status

ERROR: dependencies 'callr', 'pkgbuild' are not available for package 'devtools'
* removing 'C:/Users/User/AppData/Local/R/win-library/3.5/devtools'
In R CMD INSTALL
Warning in install.packages :
  installation of package ‘devtools’ had non-zero exit status

尝试解决方案

通过从https://github.com/r-lib/processx/releases/tag/v3.4.2下载软件包到我的库中,我试图直接安装processx3.4.2。

代码语言:javascript
复制
install.packages(paste0(folder, "processx-3.4.2.tar.gz"), repos = NULL)

但是,我收到了以下错误消息:

代码语言:javascript
复制
Warning in untar2(tarfile, files, list, exdir, restore_times) :
  failed to copy 'processx-3.4.2/inst/CODE_OF_CONDUCT.md' to 'processx-3.4.2/CODE_OF_CONDUCT.md'
Warning in untar2(tarfile, files, list, exdir, restore_times) :
  skipping pax global extended headers
* installing *source* package 'processx' ...
** libs

*** arch - i386
Warning in system(cmd) : 'make' not found
ERROR: compilation failed for package 'processx'
* removing 'C:/Users/User/AppData/Local/R/win-library/3.5/processx'
In R CMD INSTALL
Warning in install.packages :
  installation of package ‘C:/Users/User/AppData/Local/R/win-library/3.5/processx-3.4.2.tar.gz’ had non-zero exit status
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-13 22:40:06

您最简单的解决方法是:

  1. 安装更新版本的R(!!推荐!)
  2. 使用快照镜像,如microsoft https://mran.microsoft.com/snapshots/{date}提供的快照镜像(替换{date})作为install.packages中的mirror参数。通过对https://cran.r-project.org/bin/windows/base/old/的观察,我们可以看到R-3.5.1在2018年12月被R-3.5.2取代了。因此,我建议使用2018-11-31作为快照镜像。
代码语言:javascript
复制
install.packages('devtools', mirror = 'https://mran.microsoft.com/snapshots/2018-11-31')

一些已安装的软件包可能会“搞砸安装”(最近的版本?)因此,如果安装或某些代码在安装后失败,我建议使用renvR项目 (在Rstudio中)。这将确保所有包都安装在一个新的环境中,并且不存在版本冲突(因为它们都是从特定快照中安装的)。阅读renv的介绍指南和Rstudio对项目的支持可以帮助解决这个问题(如果您观察到进一步的问题)。

卸载软件包也足够了(但它可能破坏了其他一些依赖关系)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66190234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档