devtools :: install_github() - 忽略SSL证书验证失败

时间:2014-07-17 02:23:02

标签: r rcurl devtools

我试图让devtools::install_github()在Windows 7的公司代理服务器后面工作。

到目前为止,我必须做以下事情:

> library(httr)
> library(devtools)
> set_config(use_proxy("123.123.123.123",8080))
> devtools::install_github("rstudio/ggvis")

Installing github repo ggvis/master from rstudio
Downloading master.zip from https://github.com/rstudio/ggvis/archive/master.zip
Error in function (type, msg, asError = TRUE)  : 
  SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

显然我们有某种证书服务器用我们自己的公司SSL证书替换SSL证书(通过转到https://github.com并检查证书)。

无论如何,只是想知道是否有办法忽略该证书错误并继续安装?

2 个答案:

答案 0 :(得分:26)

解决问题的一种方法是将CURLOPT_SSL_VERIFYPEER设置为false。此选项确定curl是否验证对等证书的真实性。值为1表示卷曲验证; 0(零)表示它没有。 http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html

相关选项需要传递给RCurl。在RCurl CURLOPT_中删除了小写字母,下划线更改为.

set_config( config( ssl.verifypeer = 0L ) )
使用RCurl时,

会将相关选项传递给httr

更新:

自编写此答案以来httr已从RCurl移至curl包的基础依赖。现在指定了cURL选项 带下划线所以上面会是:

set_config( config( ssl_verifypeer = 0L ) )

在当前版本的httr

答案 1 :(得分:0)

我很累@jdharrisonbut方法,但对我没有用。

一种避免使用https连接的快速解决方案是将HTTP替换为http。您可以通过这种方法从cran安装软件包。

install.packages(“ http://cran.r-project.org/src/contrib/ggvis_0.4.4.tar.gz”,repo = NULL,键入=“ source”)