r - 从 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?
如果我可以提供其他信息,请告诉我(不完全确定如何为此做一个代表;))
解决方案
这里的主要问题是从预编译库安装 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,一切正常。
推荐阅读
- c - 调用带有 va_list 参数的函数一开始需要 va_start() 吗?
- javascript - 调用两个动作的按钮
- javascript - FilePond 未从服务器加载初始图像 - Cors 问题
- java - Spring Boot 健康检查重定向到 Boot upgrade 上的登录页面
- javascript - 从node.js中的javascript函数获取mysql结果
- java - Java 中的 Pacman 碰撞
- symfony - 在 HTML QuickForm2 中单独呈现字段
- python - sqlalchemy 条目的烧瓶管理员奇怪的行为
- javascript - 在 NS 7 应用程序中使用 Nativescript Filterable ListPIcker 插件和 Vue.js
- java - 从 Swing 中的 MenuItem 打开一个对话框并在关闭之前验证该对话框