RVM mengalami kesalahan sertifikat saat mencoba mengunduh Ruby 1.9.2. Sepertinya curl
mengalami masalah sertifikat, tetapi saya tidak yakin cara melewatinya. Saya telah menyertakan info kesalahan persisnya di bawah.
$ 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.
Bagaimana cara mengatasi atau menghindari kesalahan ini?
ruby-on-rails
curl
rvm
Will Dennis
sumber
sumber
Jawaban:
Jika ada orang lain yang menemukan ini saat mencoba memperbarui ke 1.9.3 (meskipun versi mungkin tidak masalah), periksa versi rvm yang Anda miliki. Wayne tampaknya telah pindah dari rvm.beginrescueend.com ke rvm.io. Sertifikat keamanan situs lama telah kedaluwarsa, jadi respons curl benar.
Memperbarui rvm dari situs baru memperbaiki masalah ini dan memungkinkan saya untuk melanjutkan.
$ \curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enabled
Perbarui : Seperti yang disebutkan @rodgerdpack, perintah berubah dan saya telah memperbarui yang di atas. Secara umum, lihat https://rvm.io/ untuk yang terbaru.
sumber
Jika tidak ingin mengubah skrip DAN Anda tidak ingin menambahkan sertifikat "selamanya" ke bundel sertifikat. Ada solusi yang sangat bagus dan cepat:
#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
Kemudian jalankan skrip Anda. Untuk menyetel ulang variabel lingkungan (untuk panggilan skrip berikutnya yang tidak boleh menggunakan sertifikat ini), masuk kembali ke sistem Anda atau hapus setelan variabel lingkungan:
export CURL_CA_BUNDLE=
sumber
Curl dipanggil dalam .rvm / scripts / fetch, yang secara default akan ada di direktori home Anda.
Edit ini menggunakan editor teks favorit Anda: misalnya,
nano ~/.rvm/scripts/fetch
Pada baris 56 dan 58 (mungkin berbeda dengan versi RVM lainnya, tentunya) Anda akan melihat dua baris yang dimulai
fetch_command="curl ...
Cukup tambahkan -k setelah curl, simpan dan coba lagi.
sumber
echo insecure >> ~/.curlrc
atau bahkan lebih baik cukup perbarui sertifikat sesuai instruksiAnda perlu mengunduh sertifikat ca dari http://curl.haxx.se/ca/cacert.pem dan menambahkannya ke file curl-ca-bundle-new.crt Anda.
Untuk menemukan lokasi file ini gunakan:
$ curl-config --ca /usr/share/curl/curl-ca-bundle.crt
Cadangkan file curl-ca-bundle.crt Anda:
Kemudian Anda ingin menggabungkan kedua file tersebut menggunakan:
$ cat cacert.pem /usr/share/curl/curl-ca-bundle.crt >> curl-ca-bundle-new.crt
sumber
Mungkin semua solusi rumit ini dulunya diperlukan, tetapi sekarang yang perlu Anda lakukan hanyalah memutakhirkan RVM terlebih dahulu dan masalah Anda akan terpecahkan:
$ rvm get stable $ rvm reload $ rvm install ruby-1.9.3-p194
sumber
Jika Anda tidak keberatan menonaktifkan pemeriksaan sertifikat di curl (Saya tidak):
echo insecure > ~/.curlrc
sumber
Pada Centos 5.6 (Final) saya mengalami masalah dengan menginstal rvm 1.9.2 Kesalahannya adalah:
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.
Berikut adalah daftar tindakan yang membantu saya memecahkan masalah
$ 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
Versi Btw curl adalah curl 7.18.0 (untuk memeriksa '$ curl -V')
sumber
Saya mencoba menginstal
ruby-1.9.2-p290
dan menemukan masalah yang sama. Setelah menjalankanwhich curl
dan menyadari bahwa instance curl berasal dari instalasi MAMP di sistem saya (OS X Snow Leopard), saya mengkonfigurasi ulangPATH
variabel saya untuk menggunakan default sistem di/usr/bin/curl
. Dengan menggunakan versi inicurl 7.19.7
, saya tidak mengalami masalah dalam menginstal Ruby versi terbaru dengan RVM.sumber
Saya mengalami masalah saat menginstal 1.9.2 menggunakan RVM, berikut solusi saya:
Jalankan perintah ini:
chmod 777 yaml-0.1.3.tar.gz
tar zxf /Users//.rvm/archives/yaml-0.1.3.tar.gz -C /Users//.rvm/src
Saya masih mendapatkan file tidak ditemukan kesalahan tetapi penginstalan terus berhasil
sumber
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz; cp yaml-0.1.4.tar.gz /Users/yourname/.rvm/archives; rvm install default
Terima kasih Dorothy - resep ini berhasil untuk saya dengan modifikasi kecil berikut untuk lingkungan Win7:
Untuk orang lain dengan masalah ini -
Menghargai diskusi tentang memperbarui CA_Bundle - Bagus untuk dilakukan tetapi tidak membantu dengan masalah ini - sertifikat situs web pyyaml masih akan menyebabkan CURL melakukan kesalahan dan karena CURL diluncurkan dalam penginstal, tidak ada cara untuk menambahkan opsi -k .
Ruby 1.9.2-p290 mencoba menginstal YAML 0.1.4 sehingga Google untuk mirror dan mendownload versi itu - YAML-0.1.3 tidak akan berpengaruh dalam melewati masalah.
Anda perlu melakukan windows yang setara dengan CHMOD 777 - di dalam folder rvm / src ke file yang diekstrak. Ubah keamanan sehingga setiap orang memiliki kepemilikan / semua hak istimewa dan matikan atribut hanya-baca untuk semua file dan folder.
Penginstal masih akan menampilkan kesalahan saat mencoba mengunduh (kesalahan CURL), tetapi akan melanjutkan dengan mencoba mengekstrak. Ekstraksi akan menampilkan kesalahan karena tarball sudah diekstraksi ke folder src. Langkah selanjutnya dalam mengonfigurasi YAML harus bekerja tanpa kesalahan jika izin di langkah 3 disetel dengan benar dan penginstalan akan selesai tanpa masalah lebih lanjut. (Jika menginstal melalui cygwin / bash, Anda perlu menambahkan kompiler C seperti 'gcc' dan menambahkan 'ncurses' (perintah tput) dan 'make' ke opsi pengaturan inti cygwin default.)
sumber
$ 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
sumber