2015-07-26 18 views
14

Kiedy próbuję zadzwonić install_github, pojawia się następujący komunikat o błędzie (nie tylko dla tego pakietu, ale dla wszystkich pakietów GitHub):DevTools :: install_github nie powiedzie się z powodu błędu cert CA

> install_github('ramnathv/slidify') 
Downloading github repo ramnathv/[email protected] 
Error in curl::curl_fetch_memory(url, handle = handle) : 
Problem with the SSL CA cert (path? access rights?) 

Ale jeśli mogę użyć RCurl bezpośrednio dostęp do GitHub z SSL, nie dostanę żadnego problemu:

> x <- getBinaryURL(
      url='https://github.com/ramnathv/slidify/archive/master.zip', 
      followlocation=1L 
     ) 

prace bez błędów, więc RCurl może zweryfikować certyfikatu SSL prawidłowo i pobrać plik archiwum.

> sessionInfo() 
R version 3.2.1 (2015-06-18) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Debian GNU/Linux 8 (jessie) 

locale: 
[1] LC_CTYPE=en_US.utf8  LC_NUMERIC=C    
[3] LC_TIME=en_US.utf8  LC_COLLATE=en_US.utf8  
[5] LC_MONETARY=en_US.utf8 LC_MESSAGES=en_US.utf8 
[7] LC_PAPER=en_US.utf8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C   
[11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] RCurl_1.95-4.7 bitops_1.0-6 devtools_1.8.0 

loaded via a namespace (and not attached): 
[1] httr_1.0.0  R6_2.1.0  magrittr_1.5 rversions_1.0.2 
[5] tools_3.2.1  curl_0.9.1  Rcpp_0.12.0  memoise_0.2.1 
[9] xml2_0.1.1  stringi_0.5-5 git2r_0.10.1 stringr_1.0.0 
[13] digest_0.6.8 

I

> curlVersion() 

$age 
[1] 3 

$version 
[1] "7.38.0" 

$vesion_num 
[1] 468480 

$host 
[1] "x86_64-pc-linux-gnu" 

$features 
    ipv6   ssl  libz  ntlm asynchdns  spnego 
     1   4   8   16   128   256 
    largefile   idn tlsauth_srp  ntlm_wb 
    512  1024  16384  32768 

$ssl_version 
[1] "OpenSSL/1.0.1k" 

$ssl_version_num 
[1] 0 

$libz_version 
[1] "1.2.8" 

$protocols 
[1] "dict" "file" "ftp" "ftps" "gopher" "http" "https" "imap" 
[9] "imaps" "ldap" "ldaps" "pop3" "pop3s" "rtmp" "rtsp" "scp" 
[17] "sftp" "smtp" "smtps" "telnet" "tftp" 

$ares 
[1] "" 

$ares_num 
[1] 0 

$libidn 
[1] "1.29" 

Jeśli używam httr::set_config(httr::config(ssl_verifypeer = 0L)) wtedy mogę z powodzeniem uruchomić install_github ale wolałbym rzeczywiście sprawdzić certyfikaty SSL.

Czy ktoś może zaoferować rozwiązanie?

Odpowiedz

16

W końcu to rozgryzłem.

Miałem zainstalowane dwie różne biblioteki ssl iz jakiegoś powodu pakiet RCurl zbudowany przeciwko libcurl4-openssl-dev i pakiet curl zbudowany przeciwko libcurl4-nss-dev, ale miałem tylko zainstalowane klucze CA dla openssl, a nie dla nss.

mi rozwiązać mój problem z remove.packages('curl') w R, a następnie rzucenie R i od powłoki apt-get remove libcurl4-nss-dev począwszy R i install.packages('curl')

Mój błąd, który doprowadził do mojego pytania, było przetestowanie certyfikacji SSL obsługę za pomocą RCurl zamiast httr lub curl, co szybko doprowadziłoby mnie do tego, że mój pakiet curl został powiązany z niewłaściwą biblioteką SSL.

1

Jeśli brakuje ten sam błąd pojawia httr lib

try:

install.packages ("httr")

0

usunąłem httr (kasowanie cały folder httr bezpośrednio z moja biblioteka win R) i ponownie ją zainstalowałem. Następnie instalacja z github pracował płynnie

0

Gdy używam biblioteki wirować Poznałem ten sam problem tooooo

Po kilku spróbować znaleźć, stwierdziliśmy, że jest, bo nie zainstalować OpenSSL w R.

A więc:

install.packages("openssl") 

, wszystko w porządku!

Och! Używam systemu Windows 10, a nie Linuksa

0

Otrzymałem ten sam błąd z zawirowaniami podczas przesyłania zadań dla Coursery. Odinstaluj i ponownie zainstaluj zawirowania, curl i htrr (których również brakowało) nie rozwiązało problemu.Jedyną rzeczą, która była faktycznie przepracowane:

install.packages ("OpenSSL")

Także w systemie Windows 10 i R 3.3.3.

+0

pluskać, to zobaczyć, zanim odpowiedział. [link] (https://stackoverflow.com/help/how-to-answer) –

0

Upewnij się, bieżąca wersja R posiada pakiet curl zainstalowane: install.packages('curl')

Powiązane problemy