Install_githubを呼び出そうとすると、次のエラーが発生します(このパッケージだけでなく、すべてのgithubパッケージに対して)。
_> install_github('ramnathv/slidify')
Downloading github repo ramnathv/slidify@master
Error in curl::curl_fetch_memory(url, handle = handle) :
Problem with the SSL CA cert (path? access rights?)
_
しかし、RCurlを直接使用してSSLを使用してgithubにアクセスする場合、問題は発生しません。
_> x <- getBinaryURL(
url='https://github.com/ramnathv/slidify/archive/master.Zip',
followlocation=1L
)
_
エラーなしで動作するため、RCurlはSSL証明書を適切に検証し、アーカイブファイルをダウンロードできます。
_> 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
_
そして
_> 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"
_
httr::set_config( httr::config( ssl_verifypeer = 0L ) )
を使用すると、_install_github
_を正常に実行できますが、実際にssl証明書を確認したいと思います。
誰かが解決策を提供できますか?
ついにこれを理解した。
2つの異なるsslライブラリをインストールし、何らかの理由で、libcurl4-openssl-devに対してビルドされたRCurlパッケージとlibcurl4-nss-devに対してビルドされたcurlパッケージをインストールしましたが、nssではなくopensslにのみCAキーをインストールしました。
Rでremove.packages('curl')
を実行してから、Rを終了し、シェルから_apt-get remove libcurl4-nss-dev
_ Rを開始してinstall.packages('curl')
で問題を解決しました。
私の質問につながった私の間違いは、RCurl
またはhttr
の代わりにcurl
を使用してSSLCA処理をテストすることでした。これにより、すぐにcurl
パッケージが間違ったSSLライブラリにリンクされていました。
httr
libが欠落している場合、同じエラーが表示されます
試してください:
install.packages( "httr")
Rの現在のバージョンにパッケージcurl
がインストールされていることを確認してください:install.packages('curl')
ライブラリスワールを使用すると、同じ問題が発生しました。
何度か試してみたところ、Rにopensslをインストールしていないことが原因であることがわかりました。
そう:
install.packages("openssl")
その後、すべて大丈夫です!
ああ! LinuxではなくWindows10を使用しています
httr
を削除して(httrフォルダー全体をR win-libraryから直接削除)、再インストールしました。その後、githubからのインストールはスムーズに機能しました
Courseraの課題を送信しているときに、渦巻きで同じエラーが発生していました。 swirl自体をアンインストールして再インストールすると、curlとhtrr(これも欠落していました)は問題に対処しませんでした。実際に機能したのは次のとおりです。
install.packages( "openssl")
Windows10およびR3.3.3も使用します。