Ketika saya menjalankan bundle install
untuk proyek Rails 3 saya di Centos 5.5 gagal dengan kesalahan:
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
(https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem)
An error occured while installing multi_json (1.3.2), and Bundler cannot continue.
Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling.
Ketika saya mencoba menginstal permata secara manual (oleh gem install multi_json -v '1.3.2'
) itu berfungsi. Masalah yang sama terjadi dengan beberapa permata lainnya. Saya menggunakan RVM (1.12.3), ruby 1.9.2, bundler 1.1.3.
Bagaimana memperbaikinya?
source "https://rubygems.org''
Gemfile dan menjalankan 'gem update --system'. Anda dapat menemukan info lebih lanjut di sini .Jawaban:
Memperbarui
Sekarang saya sudah karma wh..err cukup ditambang dari jawaban ini semua orang harus tahu bahwa ini harus diperbaiki.
re: via Ownatik lagi pemasangan bundel gagal dengan kesalahan verifikasi sertifikat SSL
Jawaban saya masih benar dan dibiarkan di bawah untuk referensi jika itu akhirnya tidak berhasil untuk Anda.
Jujur solusi sementara terbaik adalah
melalui pengguna Ownatik
apa yang mereka maksudkan adalah di bagian atas
Gemfile
dalam perubahan direktori aplikasi rel Andasource 'https://rubygems.org'
untuk
source 'http://rubygems.org'
catatan bahwa versi kedua adalah http bukan http s
sumber
vendor
direktori) ke server yang saya tulis dalam pertanyaan.Latest version currently installed. Aborting.
ide lain?gem update --system
gagal dengan kesalahan sertifikat yang sama persis: \Ganti sumber permata ssl dengan non-ssl sebagai solusi temp:
sumber
Alasannya adalah rubygems tua. Anda perlu memperbarui bagian sistem menggunakan sumber non ssl terlebih dahulu:
gem update --system --source http://rubygems.org/
(sementara memperbarui bagian sistem menggunakan koneksi non-ssl).Sekarang Anda siap digunakan
gem update
.sumber
Jika Anda menggunakan mac dan menggunakan versi terbaru RVM (~ 1.20), perintah berikut ini berfungsi untuk saya.
sumber
Masalah ini sekarang harus diperbaiki. Perbarui rubygems (
gem update --system
), pastikan openssl berada pada versi terbaru pada OS Anda, atau coba kiat-kiatnya yang masih belum berfungsi: http://railsapps.github.com/openssl-certificate-verify-failed.htmlsumber
Solusi sementara (seperti disinggung oleh Ownatik):
Buat atau modifikasi file bernama .gemrc di jalur beranda Anda, termasuk baris
:ssl_verify_mode: 0
Ini akan mencegah bundler memeriksa sertifikat SSL permata ketika mencoba menginstalnya.
Untuk * nix devices, 'home path' berarti
~/.gemrc
. Anda juga dapat membuat/etc/gemrc
jika Anda mau. Untuk Windows XP, 'home path' berartic:\Documents and Settings\All Users\Application Data\gemrc
. Untuk Windows 7,C:\ProgramData\gemrc
sumber
%USERPROFILE%\.gemrc
juga dicari olehgem
di Windows.~/.gemrc
::sources: - http://rubygems.org
Pada windows7, Anda dapat mengunduh file cacert.pem dari sini dan mengatur SSL_CERT_FILE yang dapat diubah dengan lingkungan ke jalur tempat Anda menyimpan sertifikat, mis.
atau Anda dapat mengatur variabel dalam skrip Anda seperti ini
ENV['SSL_CERT_FILE']="C:/users/<username>/cacert.pem"
Ganti <username> dengan nama pengguna Anda sendiri.
sumber
Solusi nyata untuk masalah ini, jika Anda menggunakan RVM:
gem update --system
rvm osx-ssl-certs update all
Kiat tip untuk tip ini pada proyek RailsApps !
sumber
rvm osx-ssl-certs update all
bekerja dengan baik untuk saya. Tidak perlu melakukan langkah 1.Anda dapat mengunduh daftar sertifikat CA dari situs web curl di http://curl.haxx.se/ca/cacert.pem
Kemudian atur variabel lingkungan SSL_CERT_FILE untuk memberi tahu Ruby untuk menggunakannya. Misalnya, di Linux:
(Referensi: https://gist.github.com/fnichol/867550 )
sumber
Bagi Anda yang memiliki ruby diinstal melalui RVM dan ingin perbaikan cepat (lebih suka tidak membaca per permintaan Bruno) coba saja ini:
Untuk lebih jelasnya, inilah tautan tempat saya menemukan solusinya.
http://railsapps.github.com/openssl-certificate-verify-failed.html
BTW, saya tidak harus menyentuh sertifikat saya di Ubuntu.
sumber
cacert.pem
atau$rvm_path/usr/ssl
) memang cara yang tepat untuk pergi.:ssl_verify_mode: 0
, yang membuka masalah), yang bertentangan dengan salah satu dari 3 solusi di bawahnya, yang merupakan cara yang tepat untuk memperbaiki masalah ini.Ini sudah diperbaiki
http://guides.rubygems.org/ssl-certificate-update/
Sekarang RubyGems 2.6.x telah dirilis, Anda dapat memperbarui ke versi ini secara manual.
Unduh https://rubygems.org/downloads/rubygems-update-2.6.7.gem
Silakan unduh file di direktori yang nantinya bisa Anda tunjuk (mis. Akar harddisk Anda C :)
Sekarang, gunakan Command Prompt Anda:
Setelah ini, gem --version harus melaporkan versi pembaruan yang baru.
Anda sekarang dapat menghapus permata pembaruan rubygems dengan aman:
sumber
Petunjuk copy paste sederhana yang diberikan di sini tentang file .pem
https://gist.github.com/luislavena/f064211759ee0f806c88
Untuk verifikasi sertifikat gagal
sumber
masalah yang sama tetapi dengan permata berbeda di sini:
solusi sementara:
gem install builder -v '3.0.0'
memungkinkan untuk melanjutkanbundle install
sumber
Solusi paling sederhana:
Voila!
sumber
Ini adalah Bagaimana Anda memperbaiki masalah ini pada Windows:
unduh file .perm lalu atur SSL_CERT_FILE di command prompt
https://gist.github.com/fnichol/867550
sumber
Perbaikan permanen saya untuk Windows:
Unduh CACert , simpan
C:\ruby\ssl_certs\GlobalSignRootCA.pem
dari http://guides.rubygems.org/ssl-certificate-update/Buat variabel sistem bernama " SSL_CERT_FILE ", setel ke
C:\ruby\ssl_certs\GlobalSignRootCA.pem
.Coba lagi
gem install bundler
::sumber
Saya mendapatkan kesalahan yang sedikit berbeda, meskipun mungkin terkait, di Ubuntu 12.04:
Itu terjadi ketika saya menjalankan
bundle install
dengansource 'https://rubygems.org'
Gemfile.Ini adalah masalah dengan OpenSSL di Ubuntu 12.04. Lihat masalah Rubygems # 319 .
Untuk mengatasinya, jalankan
apt-get update && apt-get upgrade
di Ubuntu 12,04 untuk meningkatkan OpenSSL Anda.sumber
Saya bisa melacak ini ke fakta bahwa binari itu
rvm
diunduh tidak bermain bagus dengan OpenSSL OS X, yang sudah tua dan tidak lagi digunakan oleh OS.Solusi bagi saya adalah memaksa kompilasi ketika menginstal Ruby melalui
rvm
:sumber
Terima kasih kepada @ Alexander.Iljushkin untuk:
gem update --system --source http://rubygems.org/
Setelah itu bundler masih gagal dan solusi untuk itu adalah:
gem install bundler
sumber
Saya mendapatkan kesalahan serupa. Inilah cara saya mengatasi ini: Di direktori jalur Anda, periksa Gemfile. Edit sumber di gemfile ke http alih-alih https dan simpan. Ini mungkin menginstal bundler tanpa masalah sertifikat SSL.l
sumber
Untuk mesin Windows, periksa versi permata Anda dengan
Kemudian perbarui permata Anda sebagai berikut:
Silakan unduh file di direktori yang nantinya bisa Anda tunjuk (mis. Root dari hard drive Anda C :)
Sekarang, gunakan Command Prompt Anda:
Sekarang, pemasangan bundel akan berhasil tanpa kesalahan verifikasi sertifikat SSL.
Instruksi lebih rinci ada di sini
sumber
Ini bekerja untuk saya:
gem install --local [path to downloaded gem file]
update_rubygems
gem --version
sumber
Saya harus menginstal ulang openssl:
sumber
Saya baru saja menghadapi masalah ini dan mengikuti langkah-langkah yang dijelaskan di sini . Mungkin ada kemungkinan Anda tidak menunjuk ke sertifikat OpenSSL yang tepat. Setelah berlari:
dan
bundel selesai berlari!
sumber
Unduh rubygems-update-2.6.7.gem .
Sekarang, gunakan Command Prompt Anda:
Setelah ini,
gem --version
harus melaporkan versi pembaruan yang baru.Anda sekarang dapat menghapus permata pembaruan rubygems dengan aman:
sumber
Untuk diketahui, jika Anda mengambil permata dari sumber yang sertifikat SSL dipercaya oleh otoritas sertifikat internal (atau Anda terhubung ke sumber eksternal melalui proxy web perusahaan dengan inspeksi SSL), arahkan variabel env SSL_CERT_FILE Anda ke rantai sertifikat Anda . Ini kemungkinan besar hanya membutuhkan ekspor sertifikat root Anda dari toko sertifikat Anda (Sistem Keychain pada macOS) ke lokasi yang dapat diakses dari shell Anda yaitu:
sumber
Jika Anda menggunakan
rails-assets
Jika Anda menggunakannya
https://rails-assets.org/
untuk mengelola aset Anda, tidak ada jawaban yang akan membantu Anda. Bahkan mengonversi kehttp
tidak akan membantu.Perbaikan paling sederhana menggunakan sumber ini sebagai gantinya
http://insecure.rails-assets.org
,. Ini telah disebutkan di beranda mereka .sumber
Satu-satunya hal yang bekerja untuk saya pada sistem legacy windows dan versi ruby 1.9 adalah mengunduh file cacert dari http://guides.rubygems.org/ssl-certificate-update/
Dan kemudian jalankan perintah di bawah ini sebelum menjalankan bundle install
sumber