Ruby 1.9.2。curl
に証明書の問題があるように見えますが、それをバイパスする方法がわかりません。以下に正確なエラー情報が含まれています。
$ rvm install 1.9.2
Installing Ruby from source to: /Users/willdennis/.rvm/rubies/Ruby-1.9.2-p180, this may take a while depending on your cpu(s)...
Ruby-1.9.2-p180 - #fetching
ERROR: Error running 'bunzip2 '/Users/willdennis/.rvm/archives/Ruby-1.9.2-p180.tar.bz2'', please read /Users/willdennis/.rvm/log/Ruby-1.9.2-p180/extract.log
Ruby-1.9.2-p180 - #extracting Ruby-1.9.2-p180 to /Users/willdennis/.rvm/src/Ruby-1.9.2-p180
Ruby-1.9.2-p180 - #extracted to /Users/willdennis/.rvm/src/Ruby-1.9.2-p180
Fetching yaml-0.1.3.tar.gz to /Users/willdennis/.rvm/archives
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). The default
bundle is named curl-ca-bundle.crt; you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
ERROR: There was an error, please check /Users/willdennis/.rvm/log/Ruby-1.9.2-p180/*.log. Next we'll try to fetch via http.
Trying http:// URL instead.
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). The default
bundle is named curl-ca-bundle.crt; you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
ERROR: There was an error, please check /Users/willdennis/.rvm/log/Ruby-1.9.2-p180/*.log
Extracting yaml-0.1.3.tar.gz to /Users/willdennis/.rvm/src
ERROR: Error running 'tar zxf /Users/willdennis/.rvm/archives/yaml-0.1.3.tar.gz -C /Users/willdennis/.rvm/src --no-same-owner', please read /Users/willdennis/.rvm/log/Ruby-1.9.2-p180/yaml/extract.log
/Users/willdennis/.rvm/scripts/functions/packages: line 55: cd: /Users/willdennis/.rvm/src/yaml-0.1.3: No such file or directory
Configuring yaml in /Users/willdennis/.rvm/src/yaml-0.1.3.
ERROR: Error running ' ./configure --prefix="/Users/willdennis/.rvm/usr" ', please read /Users/willdennis/.rvm/log/Ruby-1.9.2-p180/yaml/configure.log
Compiling yaml in /Users/willdennis/.rvm/src/yaml-0.1.3.
ERROR: Error running '/usr/bin/make ', please read /Users/willdennis/.rvm/log/Ruby-1.9.2-p180/yaml/make.log
Installing yaml to /Users/willdennis/.rvm/usr
ERROR: Error running '/usr/bin/make install', please read /Users/willdennis/.rvm/log/Ruby-1.9.2-p180/yaml/make.install.log
Ruby-1.9.2-p180 - #configuring
ERROR: Error running ' ./configure --prefix=/Users/willdennis/.rvm/rubies/Ruby-1.9.2-p180 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/willdennis/.rvm/usr ', please read /Users/willdennis/.rvm/log/Ruby-1.9.2-p180/configure.log
ERROR: There has been an error while running configure. Halting the installation.
このエラーを解決または回避するにはどうすればよいですか?
1.9.3にアップデートしようとしているときに他の誰かがこれに出くわした場合(バージョンはおそらく重要ではありませんが)、お持ちのrvmのバージョンを確認してください。ウェインはrvm.beginrescueend.comからrvm.ioに移動したようです。古いサイトのセキュリティ証明書の有効期限が切れているため、curlの応答は正しいです。
新しいサイトからrvmを更新すると、この問題が修正され、前進することができました。
$ \curl -L https://get.rvm.io | bash -s stable --Rails --autolibs=enabled
Update:@rodgerdpackが述べたように、コマンドが変更され、上記を更新しました。一般的に、最新情報については https://rvm.io/ を参照してください。
行う場合スクリプトを変更したくない AND行う証明書を「永遠に」追加したくない証明書バンドルに非常に素早い解決策があります:
#to download the cert
wget http://curl.haxx.se/ca/cacert.pem
#to let curl use it for the next calls
export CURL_CA_BUNDLE=~/cacert.pem
次に、スクリプトを実行します。 (この証明書を使用してはならない後続のスクリプト呼び出しのために)環境変数をリセットするには、システムに再ログインするか、環境変数を設定解除します。
export CURL_CA_BUNDLE=
Curlは.rvm/scripts/fetchで呼び出されます。これはデフォルトではホームディレクトリにあります。
お気に入りのテキストエディターを使用してこれを編集します。たとえば、
nano ~/.rvm/scripts/fetch
56行目と58行目(もちろん、RVMの他のバージョンによって異なる場合があります)には、次の2行が表示されます。
fetch_command="curl ...
Curlの後に-kを追加し、保存してもう一度試してください。
http://curl.haxx.se/ca/cacert.pem からca証明書をダウンロードし、curl-ca-bundle-new.crtファイルに追加する必要があります。
このファイルの場所を見つけるには:
$ curl-config --ca
/usr/share/curl/curl-ca-bundle.crt
Curl-ca-bundle.crtファイルをバックアップします。
$ cp /usr/share/curl/curl-ca-bundle.crt /usr/share/curl/curl-ca-bundle.crt.old
次に、次を使用して2つのファイルを連結します。
$ cat cacert.pem /usr/share/curl/curl-ca-bundle.crt >> curl-ca-bundle-new.crt
これらの複雑なソリューションはすべて必要だったかもしれませんが、最初にRVMをアップグレードするだけで問題は解決します。
$ rvm get stable
$ rvm reload
$ rvm install Ruby-1.9.3-p194
Curlで証明書チェックを無効にすることを気にしない場合(私は気にしません):
echo insecure > ~/.curlrc
Centos 5.6(最終版)でrvm 1.9.2のインストールに問題がありました。エラーは次のとおりです。
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). The default
bundle is named curl-ca-bundle.crt; you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
ERROR: There was an error, please check /usr/local/rvm/log/Ruby-1.9.2-p290/*.log. Next we'll try to fetch via http.
Trying http:// URL instead.
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). The default
bundle is named curl-ca-bundle.crt; you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
ERROR: There was an error, please check /usr/local/rvm/log/Ruby-1.9.2-p290/*.log
ERROR: There has been an error while trying to fetch the source.
Halting the installation.
ERROR: There has been an error fetching the Ruby interpreter. Halting the installation.
ここに私が問題を解決するのを助けたアクションのリストがあります
$ curl-config --ca # show path to the certificate
/usr/local/share/curl/curl-ca-bundle.crt
$ cd /usr/local/share/curl/ # go to that path
$ cp curl-ca-bundle.crt curl-ca-bundle.crt.bak # backup certificate
$ curl http://curl.haxx.se/ca/cacert.pem -o curl-ca-bundle.crt # download new
$ rvm install 1.9.2 # bingo it works
Btw curlバージョンはcurl 7.18.0です(「$ curl -V」を確認するため)
Ruby-1.9.2-p290
をインストールしようとしていて、同じ問題に遭遇しました。 which curl
を実行し、curlインスタンスがシステム(OS X Snow Leopard)のMAMPのインストールから来ていることを認識した後、PATH
変数を再構成して、/usr/bin/curl
のシステムデフォルトを使用しました。このバージョンcurl 7.19.7
を使用して、RVMでRubyの最新バージョンをインストールしても問題はありませんでした。
RVMを使用して1.9.2をインストールする際に問題が発生しました。これが私の解決策です。
次のコマンドを実行します。
chmod 777 yaml-0.1.3.tar.gz
tar zxf /Users//.rvm/archives/yaml-0.1.3.tar.gz -C /Users//.rvm/src
それでもファイルが見つからないというエラーが出ましたが、インストールは成功しました
[2011-07-05 14:24:07] tar zxf /Users//.rvm/archives/yaml-0.1.3.tar.gz -C /Users//.rvm/src --no-same-owner tar (子):/Users//.rvm/archives/yaml-0.1.3.tar.gz:開くことができません:そのようなファイルまたはディレクトリはありませんtar(子):エラーは回復できません:現在終了中tar:子はステータス2 tarを返しました:以前のエラーから遅延したエラー終了
ドロシー、ありがとうございます-このレシピは、Win7環境用に以下の小さな変更を加えて私のために働きました。
この問題を持つ他の人のために-
CA_Bundleの更新に関する議論を評価してください-良いことですが、この問題は解決しませんでした-pyyaml Webサイトの証明書によりCURLがエラーをスローし、CURLはインストーラー内で起動されるため、-kオプションを追加する方法はありません。
Ruby 1.9.2-p290はYAML 0.1.4をインストールしようとしているため、Googleがミラーを作成し、そのバージョンをダウンロードします-YAML-0.1.3は、問題を回避する効果がありません。
CHMOD 777に相当するウィンドウを実行する必要があります-抽出されたファイルに対してrvm/srcフォルダー内で。全員が所有権/すべての特権を持つようにセキュリティを変更し、すべてのファイルとフォルダーの読み取り専用属性をオフにします。
インストーラーはダウンロードしようとするとエラー(CURLエラー)をスローしますが、解凍しようとすると再開します。 tarballは既にsrcフォルダーに抽出されているため、抽出はエラーをスローします。 YAMLを設定する次の手順は、手順3で権限が正しく設定されていて、インストールがさらに問題なく完了する場合、エラーなしで動作するはずです。 (cygwin/bashを介してインストールする場合、「gcc」などのCコンパイラを追加し、デフォルトのコアcygwinセットアップオプションに「ncurses」(tputコマンド)と「make」を追加する必要があります。)
$ Sudo apt-get install curl
$ curl -L https://get.rvm.io | bash -s stable --Ruby with Ruby
$ curl -L https://get.rvm.io | bash -s stable --Rails with Rails