Whenever I want to recreate a project on my windows machine using renv:restore()
it always fails installing packages. I always get the same error (although the packages may change):
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.
This is my session info:
> 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
And this might also be useful:
> getOption("download.file.method")
[1] "wininet"
> renv:::renv_download_file_method()
[1] "curl"
>
After running: Sys.setenv(RENV_DOWNLOAD_METHOD = "curl")
(or wininet
or libcurl
) I always get the same error as before.
As a workaround I did the following:
- Close the project
- Install package as normal (without renv)
- Open the project using renv
- Restore snapshot
If the packages have previously been installed, they will be symlinked and they would work.
Unfortunately, this is extremely cumbersome, as many packages have dependencies and I have to manually install them all, and that's precisely one of the things I want to avoid and one of the reasons for using renv!
For the sake of documentation: after following this answer https://github.com/rstudio/renv/issues/735#issuecomment-825778542 from Kevin Ushey, I managed to make it work:
renv
to last version (currently, 0.13.2)Sys.setenv(RENV_DOWNLOAD_METHOD = "wininet")
renv::restore()