美文网首页Cook R诗翔的R语言学习之路
【r<-方案】解决OpenSSL SSL_connect:

【r<-方案】解决OpenSSL SSL_connect:

作者: 王诗翔 | 来源:发表于2019-02-04 11:41 被阅读6次

    方案|git与curl代理,解决git gnutls_handshake失败一文中,我解决了由于网络代理而引起git不能clone的问题。原因在于我开了lantern,所以很多软件都需要走代理。

    在我对R包的文档进行更新时,类似的错误出现了。

    > xe2_query = XenaQuery(xe2)
    This will check url status, please be patient.
    Error in curl::curl_fetch_memory(url, handle = handle) : 
      OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 127.0.0.1:45077 
    

    我原以为这问题来自于curl本身,于是尝试关掉lantern,注释掉~/.curlrc中的代理设置,结果依然有这个问题!在网上苦苦搜索后并没有发现有价值的信息,调整系统环境变量并不能纠正该错误。

    特别奇怪的一点是,我在本地终端curl谷歌地址,完全没问题,但是在R中curl就抛出一样的错误。

    > curl::curl_fetch_memory("www.google.com")
    Error in curl::curl_fetch_memory("www.google.com") : 
      OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 127.0.0.1:45077 
    

    这让我灵机一动,问题并不是出在curl上,而是出在R里面的curl包没有正确配置代理。朝着这个方向我去搜索R里面怎么设置curl代理,问题就解决了。

    首先用下面代码打开R环境变量文件

    > file.edit("~/.Renviron")
    

    在其中添加下面两句:

    http_proxy="http://127.0.0.1:45077"
    https_proxy="http://127.0.0.1:45077"
    

    重启R即可。

    相关文章

      网友评论

        本文标题:【r<-方案】解决OpenSSL SSL_connect:

        本文链接:https://www.haomeiwen.com/subject/duspsqtx.html