PSA: R 4.1.x to 4.2.x CRAN not reachable. Observations and one fix

Hello,

something more of an observation rather than a problem.

Problem: Moving from R 4.1.3 to 4.2.1 all of a sudden I couldnt reach CRAN anymore. The error was something like couldnt fetch index, no access to http smth smth.
My solution: Add Proxy Settings for the company proxy into .Renviron(See Rstudio Guide)

Observations:

  • My R Desktop runs in a company (windows) environment where almost anything needs a proxy to get out.
    • Interestingly, up to R 4.2.0. it worked just fine without a proxy which was odd.
    • Key point: Its a european company with latin encoded characters up the wazoo. Lots of fun with path names form hell and all sorts of weird behaviour/malfunctions (e.g. bad pathnames mess with markdown preview since the markdown server cannot serve Rstudio if your project is in \§8080 my colleagues löve restrictäd symbols in folder name$; solution move Rproj so sanely named location.)
  • Possible Explanation:
    • Up to R 4.2.x unicode and windows was a bear, lots of issues with path names and unicode chars.
    • I suspect that with proper unicode support/handling in windows contacting cran now doesnt find a loophole in the firewall settings?
    • Or did the way R contacts CRAN change from 4.1.x to 4.2.x?

Cheers from the skunkworks

1 Like

The default download method used for downloading files and installing packages on Windows was changed from wininet to libcurl in R 4.2.0. And wininet was apparently deprecated in R 4.1.1. Could that have been the cause?

Proxy settings are configured different between wininet and libcurl. wininet uses Internet Options and libcurl uses http[s]_proxy environment variables, which I guess would explain why the .Renviron solution worked.

CHANGES IN R 4.2.0

DEPRECATED AND DEFUNCT

  • On Windows, download.file(method = "wininet") no longer supports ‘⁠ftp://⁠’ URIs. (It is no longer the default method, which is "libcurl" and does.)

On Windows, the deprecated method = "wininet" now gives a warning for ‘⁠http://⁠’ and ‘⁠https://⁠’ URIs for both download.file() and url(). (It is no longer the default method.)

CHANGES IN R 4.1.1

DEPRECATED AND DEFUNCT

  • On Windows, method = "wininet" is deprecated for ‘⁠http://⁠’, ‘⁠https://⁠’ and ‘⁠ftp://⁠’ URIs for both download.file and url. (A warning is only given for ‘⁠ftp://⁠’.)

R: R News

Setting Proxies

For the Windows-only method "wininet", the ‘Internet Options’ of the system are used to choose proxies and so on; these are set in the Control Panel and are those used for system browsers.

For the "libcurl" and "curl" methods, proxies can be set via the environment variables http_proxy or ftp_proxy. See libcurl - programming tutorial for further details.

R: Download File from the Internet

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.