美文网首页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