【问题标题】:How do I get RCurl to connect to POST SSL on OS X Yosemite?如何让 RCurl 连接到 OS X Yosemite 上的 POST SSL?
【发布时间】:2015-04-14 21:45:05
【问题描述】:

自从升级到 OS X Yosemite 10.10.2 后,我一直无法使用 RCurl 通过 SSL 发送 POST。我得到的错误信息是:

Error in function (type, msg, asError = TRUE) :
    SSLRead() return error -9806

这与此处的 curl 错误非常相似:osx 10.10 Curl POST to HTTPS url gives SSLRead() error

因此,我按照该问题的答案运行了通过自制软件安装 libcurl 的说明,但我无法弄清楚如何将 RCurl 链接到新的 libcurl。 curl-config 仍然返回旧的 libcurl 安装。

> packageVersion("RCurl") 
[1] ‘1.95.4.5’

> version 
platform x86_64-apple-darwin13.4.0 
arch x86_64 
os darwin13.4.0 
system x86_64, darwin13.4.0 
status 
major 3 
minor 1.2 
year 2014 
month 10 
day 31 
svn rev 66913 
language R 
version.string R version 3.1.2 (2014-10-31) 
nickname Pumpkin Helmet 

【问题讨论】:

  • 您在终端会话中从which curl 得到什么。应该是/usr/bin/curl。我猜你用非标准位置构建了一个新的 curl 并且 R 包正在错误的目录中寻找它。
  • 你不应该这样做 - CRAN 上的二进制版本对我来说很好。

标签: r macos libcurl osx-yosemite rcurl


【解决方案1】:

想通了!

首先,我从 homebrew 安装了 brew:

brew install --with-libressl curl

然后,我将 curl-config 复制到位:

sudo cp /usr/bin/curl-config /usr/bin/curl-config.bak
sudo cp /usr/local/opt/curl/bin/curl-config /usr/bin/curl-config

然后,我重新安装了 RCurl:

install.packages("RCurl", type="source")

它又起作用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    相关资源
    最近更新 更多