首页 > 解决方案 > 从 R 3.6 升级到 R 4.0 时,如何将 R 指向正确版本的 curl?

问题描述

注意我几个月前还在 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?

如果我可以提供其他信息,请告诉我(不完全确定如何为此做一个代表;))

标签: rcurlhttpslibcurl

解决方案


这里的主要问题是从预编译库安装 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,一切正常。


推荐阅读