【问题标题】:Failed to install R libraries - SSL issues?无法安装 R 库 - SSL 问题?
【发布时间】:2019-08-28 07:17:51
【问题描述】:

我尝试从 R 下载库的所有内容都得到“错误:无法从 URL 安装‘未知包’: 错误:1407742E:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1 警报协议版本"

例如,我试试

install_version("cowplot")

remotes::install_github("kassambara/factoextra")

如何解决?

【问题讨论】:

    标签: r ssl


    【解决方案1】:

    您必须检查 SSL 客户端和 SSL 服务器是否具有共同的协议/算法组合才能启动连接。否则连接失败。

    请注意,越来越多的 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 上,并且它具有最新版本。

    这里您使用的是来自devtoolsinstall_version。为什么不使用内置的 R 函数来安装包?使用例如options(repos="https://cran.r-project.org/") 在 R 中设置存储库并使用install.packages("cowplot") 安装包。主 CRAN 镜像 https://cran.r-project.org/ 支持旧版本的 TLS(1.0 和 1.1),所以它应该可以工作。

    另见这些链接:

    【讨论】:

      【解决方案2】:

      最终通过自制软件升级了整个 R 发行版,包括它的所有依赖项。称之为依赖地狱:-)

      花费时间最长并解决问题的部分是升级到最新的 GCC,这最终会破坏许多软件包。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-15
        • 2015-10-02
        • 2015-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多