【问题标题】:renv:restore() always fails in windowsrenv:restore() 在 Windows 中总是失败
【发布时间】:2021-04-23 10:13:05
【问题描述】:

每当我想在我的 Windows 机器上使用 renv:restore() 重新创建一个项目时,它总是无法安装包。我总是得到同样的错误(尽管包可能会改变):

Retrieving 'https://cloud.r-project.org/src/contrib/Archive/xfun/xfun_0.21.tar.gz' ...
Error: failed to retrieve package 'xfun'
In addition: Warning messages:
1: curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate. 
2: curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate. 
3: download failed [error code 35] 
4: curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate. 
5: curl: (35) schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate. 

这是我的会话信息:

> sessionInfo()
R version 4.0.5 (2021-03-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19042)

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252    LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C                            LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base     

loaded via a namespace (and not attached):
[1] compiler_4.0.5 tools_4.0.5    renv_0.12.0   

这也可能有用:

> getOption("download.file.method")
[1] "wininet"
> renv:::renv_download_file_method()
[1] "curl"
>

运行后:Sys.setenv(RENV_DOWNLOAD_METHOD = "curl")(或 wininetlibcurl)我总是得到和以前一样的错误。

作为一种解决方法,我执行了以下操作:

  1. 关闭项目
  2. 正常安装包(不带 renv)
  3. 使用 renv 打开项目
  4. 恢复快照

如果这些软件包之前已安装,它们将被符号链接并且它们可以工作。

不幸的是,这非常麻烦,因为许多软件包都有依赖项,我必须手动安装它们,而这正是我要避免的事情之一,也是使用 renv 的原因之一!

【问题讨论】:

标签: r renv r-environment


【解决方案1】:

为了记录:在遵循Kevin Ushey 的这个答案https://github.com/rstudio/renv/issues/735#issuecomment-825778542 之后,我设法使它工作:

  1. renv 更新到最新版本(当前为 0.13.2)
  2. 运行Sys.setenv(RENV_DOWNLOAD_METHOD = "wininet")
  3. 运行renv::restore()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2020-09-12
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多