我试图让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并检查证书)。
无论如何,只是想知道是否有办法忽略该证书错误并继续安装?
答案 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”)