我尝试从 RI 下载库时出现“错误:无法从 URL 安装‘未知包’: 错误:1407742E:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1 警报协议(protocol)版本”
例如,我试试
install_version("cowplot")
或
remotes::install_github("kassambara/factoextra")
如何解决?
最佳答案
您必须检查 SSL 客户端和 SSL 服务器是否具有共同的协议(protocol)/算法组合来启动连接。否则连接失败。
请注意,越来越多的 TLS 1.0 和 1.1 被服务器禁止(不够安全):例如,GitHub 只有 TLS 1.2 和 1.3。
您可以使用此在线工具检查服务器:https://github.com/openssl/openssl/issues/5806 .
要检查客户端,您必须找出您的 R 版本(或者可能由操作系统提供)使用哪个版本的 OpenSSL。 OpenSSL 只是一个猜测:R 也可能使用 libcurl,它可以用 another SSL library 构建,但它们都应该支持 TLS 1.2(至少这些库的最新版本)。
将 R 和/或 OpenSSL 升级到最新版本应该可以解决问题,但还有另一种可能性。请注意,cowplot 在 CRAN here 上,并且它有最新版本。
这里您使用的是来自 devtools 的 install_version
.为什么不使用内置的 R 函数进行包安装?使用例如 options(repos="https://cran.r-project.org/")
在 R 中设置存储库并使用 install.packages("cowplot") 安装包
。主 CRAN 镜像,https://cran.r-project.org/ ,支持旧版本的 TLS(1.0 和 1.1),因此它应该可以工作。
另请参阅这些链接:
关于r - 安装 R 库失败 - SSL 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57686885/