从 R 3.6 升级到 R 4.0 时,如何将 R 指向正确版本的 curl?

从 R 3.6 升级到 R 4.0 时,如何将 R 指向正确版本的 curl?

坦白说,我已经在 SO 上发布了同样的问题,但根据建议,我改用这个论坛!几个月前,我最初在 RStudio 社区发布了这个问题,这有助于缩小问题范围,但仍然没有解决方案(https://community.rstudio.com/t/https-protocol-error-when-upgrading-from-r-3-6-to-r-4-0/88234/2)。

大约在 2018 年,我按照此处的说明在 CentOS 7 服务器上安装了带有 R 3.6.0 的 RStudio Server(免费版):(https://s3.amazonaws.com/rstudio-server/rstudio-server-pro-0.98.507-admin-guide.pdf

一切都运行正常,没有问题。最近,我需要升级 R 的版本,并按照此处的说明安装了 R 4.0.0:(https://docs.rstudio.com/resources/install-r/

安装后,在命令行或 RStudio IDE 中安装包时出现以下错误:

Protocol "https" not supported or disabled in libcurl

我检查了 libcurlVersion(),它返回:

[1] "7.47.0"
attr(,"ssl_version")
[1] "none"
attr(,"libssh_version")
[1] ""
attr(,"protocols")
[1] "dict" "file" "ftp" "gopher" "http" "imap" "pop3" "rtsp"
[9] "smtp" "telnet" "tftp"

因此我可以看到 https 未列在协议中。计算机上有另一个版本的 curl (7.73.0)(位于 /usr/bin/curl),其协议中确实列出了 https,因此我需要将 R 指向此版本。我如何才能将 R 指向此版本的 curl?

答案1

这里的主要问题是由从预编译库安装 R 引起的。为了解决这个问题,我按照说明从源代码安装 R(当然,将 curl 步骤中的 URL 更改为所需的 R 版本):

https://docs.rstudio.com/resources/install-r-source/

在运行“构建和安装 R”下的编译步骤之前,我在终端中设置了 PKG_CONFIG_PATH=/usr/local/lib(这是我的 libcurl 7.73.0 的位置),然后按照那里的其余安装说明进行操作。

最后,我编辑了 rserver.conf 文件以指向新版本的 R,然后重新启动了 RStudio Sever,一切运行正常。

相关内容