Saya mencoba melakukan tutorial Michael Hartl. Ketika saya mencoba menginstal rel 3.2.14 di gemset saya, saya mendapatkan masalah berikut:
$ gem install rails -v 3.2.14
GALAT: Tidak dapat menemukan 'rel' permata yang valid (= 3.2.14), inilah sebabnya:
Tidak dapat mengunduh data dari https://rubygems.org/ - SSL_connect kembali = 1 errno = 0 status = SSLv3 baca sertifikat server B: verifikasi sertifikat gagal ( https://s3.amazonaws.com/production.s3.rubygems.org /specs.4.8.gz )
Setelah Googling berkeliling, saya menemukan bahwa saya bisa menggunakan sumber non-SSL untuk rubygem jadi saya berlari:
sudo gem sources -a http://rubygems.org
Kemudian, ketika saya mencoba memasang rel lagi, ternyata berhasil. Namun, saya masih mendapatkan masalah di atas tetapi sebagai peringatan:
PERINGATAN: Tidak dapat menarik data dari ' https://rubygems.org/ ': SSL_connect kembali = 1 errno = 0 status = SSLv3 baca sertifikat server B: verifikasi sertifikat gagal ( https://s3.amazonaws.com/production.s3 .rubygems.org / specs.4.8.gz )
Bagaimana saya bisa menghapus peringatan / kesalahan ini sepenuhnya?
Saya menggunakan yang berikut ini:
- rvm 1.22.15
- ruby 2.0.0p247 (2013-06-27 revisi 41674) [x86_64-darwin12.3.0]
- OSX 10.8.5
sumber
2.0.*
versi usang ( ) darirubygems
. Coba perbarui ke versi rubygems terbaru:gem update --system
dan kemudian jalankan kembaligem install
.gem sources -r https://rubygems.org/
bekerja untuk saya (sejauh menghapus peringatan).Jawaban:
Untuk pengguna RVM & OSX
Pastikan Anda menggunakan rvm terbaru:
Maka Anda dapat melakukan dua hal:
Perbarui sertifikat:
Perbarui rubygems:
Untuk pengguna non RVM
Temukan jalur untuk sertifikat:
Hasilkan sertifikat:
Seluruh kode: https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/osx-ssl-certs
Untuk pengguna non OSX
Pastikan untuk memperbarui paket
ca-certificates
. (pada sistem lama mungkin tidak tersedia - jangan gunakan sistem lama yang tidak lagi menerima pembaruan keamanan)Catatan Windows
The Ruby Installer membangun untuk jendela disusun oleh Luis Lavena dan jalan menuju sertifikat akan menampilkan sesuatu seperti
C:/Users/Luis/...
cek https://github.com/oneclick/rubyinstaller/issues/249 untuk rincian lebih lanjut dan jawaban ini https://stackoverflow.com / a / 27298259/497756 untuk diperbaiki.sumber
rvm rubygems latest
mengakibatkan kesalahan mengeluh tentang checksum yang hilang. Namun, hal-hal mulai bekerja tanpa itu juga ... tampaknya Anda bisa memaksakannya--verify-downloads 1
jika perlu. Adakah ide mengapa itu terjadi? Itu mencoba untuk mengambil versirubygems-2.1.6
head
versi dan akanstable
segera dirilis .permission denied: /private/etc/ssl/cert.pem
Temuan terbaru ...
https://gist.github.com/luislavena/f064211759ee0f806c88
Paling penting ... unduh https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot-2048.pem
Cari tahu di mana harus menempelnya
Kemudian cukup salin file .pem di ../2.1.0/rubygems/ssl_certs/ dan lanjutkan tentang bisnis Anda.
sumber
.pem
ekstensi, bukan.pem.txt
!AddTrustExternalCARoot-2048.pem
, 2) Saya menempatkan file keC:\Ruby193\lib\ruby\1.9.1\rubygems\ssl_certs
, 3) Saya menjalankangem install susy
dan mendapatkan kesalahan yang samaUnable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
gem install --local C:\Downloads\rubygems-update-2.4.5.gem
Untuk pengguna windows
Tautan Goto http://rubygems.org/pages/download
sumber
Jika Anda ingin menggunakan sumber non-SSL, coba hapus sumber HTTPS terlebih dahulu, lalu tambahkan satu HTTP:
MEMPERBARUI:
Sebagai negara mpapis, ini harus digunakan hanya sebagai solusi sementara. Mungkin ada beberapa masalah keamanan jika Anda mengakses RubyGems melalui sumber non-SSL.
Setelah solusi tidak diperlukan lagi, Anda harus mengembalikan sumber SSL:
sumber
sudo gem sources -r https://rubygems.org/
dansudo gem sources -r http://rubygems.org/
. Perhatikan jejaknya/
./
, itu juga harus dihapus dengan trailing/
.Pada Windows Anda harus menggunakan
HTTP
sumber untuk memperbaruigem
lalu kembali menggunakanHTTPS
.Sunting: Peringatan Saya tidak yakin apakah ini aman . Apakah ada yang tahu jika paket ruby ditandatangani? Jawaban yang diterima tampak seperti solusi yang lebih baik.
sumber
gem sources -l
melihat sumber Anda sebelum dan sesudah memperbarui sistem. Jika pembaruan gagal, tentukan nomor versi tepat setelah --sistem. Lihat rubygems.org/gems/rubygems-update/versions atau tanyakan rekan kerja untukgem -v
laporan apa .Untuk Pengguna Windows (dan mungkin orang lain)
Rubygems.org memiliki panduan yang tidak hanya menjelaskan cara memperbaiki masalah ini, tetapi juga mengapa begitu banyak orang mengalaminya: Pembaruan Sertifikat SSL Alasan masalah ini rubygems.org beralih ke sertifikat SSL yang lebih aman (SHA-2 yang gunakan enkripsi 256bit). Alat baris perintah rubygems menggabungkan referensi ke sertifikat yang benar. Karenanya rubygems itu sendiri tidak dapat diperbarui menggunakan versi rubygem yang lebih lama. Rubygems pertama-tama harus diperbarui secara manual.
Pertama cari tahu rubygems apa yang Anda miliki:
Bergantung pada apakah Anda memiliki 1.8.x, 2.0.x atau 2.2.x, Anda perlu mengunduh permata pembaruan, bernama “rubygems-update-XYZgem”, di mana XYZ adalah versi yang Anda butuhkan. Menjalankan 1.8.x: unduh: https://github.com/rubygems/rubygems/releases/tag/v1.8.30 Running 2.0.x: unduh: https://github.com/rubygems/rubygems/releases/tag/v2 .0.15 Menjalankan 2.2.x: unduh: https://github.com/rubygems/rubygems/releases/tag/v2.2.3
Instal pembaruan gem:
Jalankan pembaruan gem:
Periksa apakah rubygems telah diperbarui:
Copot pemasangan gem pembaruan:
Pada titik ini, Anda mungkin baik-baik saja. Tetapi ada kemungkinan bahwa Anda tidak memiliki file kunci publik terbaru untuk sertifikat baru. Untuk melakukan ini:
Unduh sertifikat terbaru, (saat ini AddTrustExternalCARoot-2048.pem) dari https://rubygems.org/pages/download . Semua sertifikat juga ada di: https://github.com/rubygems/rubygems/tree/master/lib/rubygems/ssl_certs
Cari tahu di mana harus meletakkannya:
Letakkan file ini di direktori "rubygems \ ssl_certs" di lokasi ini.
Sesuai komitmen rubygems , sertifikat dipindahkan ke direktori yang lebih spesifik. Dengan demikian, saat ini sertifikat (AddTrustExternalCARoot-2048.pem) diharapkan berada di jalur berikut
lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot-2048.pem
sumber
Coba gunakan situs web sumber untuk permata, yaitu rubygems.org. Gunakan http, bukan https. Metode ini tidak melibatkan pekerjaan apa pun seperti menginstal sertifikat dan semua itu.
Contoh -
Ini bekerja, tetapi ada satu peringatan sekalipun.
Permata diinstal, tetapi dokumentasi bukan karena kesalahan sertifikat. Inilah kesalahan yang saya dapatkan
sumber
Berlari
gem update --system
bekerja untuk sayasumber
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
Pastikan jam sistem Anda benar
Kesalahan tepat ini terjadi pada saya hari ini di mesin virtual Ubuntu yang berjalan di VirtualBox. Saya mencoba sebagian besar solusi yang ditunjukkan di atas sebelum saya perhatikan bahwa saya telah kembali dari keadaan sangat lama, dan jam saya mati beberapa hari.
Memperbarui jam segera memperbaiki masalah saya. Inilah perintah yang saya gunakan dalam kasus saya:
sudo service ntp stop && sudo ntpdate pool.ntp.org && sudo service ntp start
sumber
Cukup menghapus dan menginstal ulang openssl dengan homebrew memecahkan masalah ini untuk saya.
brew uninstall --force openssl
brew install openssl
sumber
brew uninstall --ignore-dependencies openssl
(yang setara denganforce
bendera lama )Untuk pengguna Fedora
Perbarui
cert.pem
file terbaru yang disediakan oleh cURL: http://curl.haxx.se/ca/cacert.pemsumber
Jika Anda menggunakan windows, buka https://rubygems.org/ dengan internet explorer.
Klik pada informasi keamanan dan impor sertifikat. Intinya adalah rantai sertifikasi Anda sudah usang dan Anda perlu menambahkan sertifikat baru ini. Ingatlah bahwa ini bukan pelanggaran keamanan selama Anda dapat memvalidasi sertifikat yang tepercaya.
sumber
Dalam kasus saya, sertifikat CA CA sudah ketinggalan zaman. Saya memperbaikinya dengan menjalankan:
sumber
Pendekatan / satu-liner yang dapat diotomatisasi untuk mengunduh permata menggunakan HTTP alih-alih HTTPS:
sumber
Kasus khusus RubyGems (alat baris perintah) adalah bahwa ia harus membundel di dalam kode sertifikat kepercayaan, yang memungkinkan RubyGems untuk membuat koneksi dengan server bahkan ketika sistem operasi dasar tidak dapat memverifikasi identitas mereka.
Hingga beberapa bulan yang lalu, sertifikat ini diberikan oleh satu CA, tetapi sertifikat yang lebih baru disediakan oleh yang lain.
Karena itu, instalasi RubyGems yang ada harus diperbarui sebelum pergantian sertifikat dan berikan waktu yang cukup untuk perubahan menyebar (dan orang-orang memperbarui)
Siapa pun dapat menemukan solusinya dengan mengikuti langkah-langkah sederhana yang diberikan dalam tautan di bawah ini
https://gist.github.com/luislavena/f064211759ee0f806c88
sumber
Mencoba
Semoga ini bisa menyelesaikan masalah.
sumber
apt install ruby
.ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
Unduh file cacert.pem dari http://curl.haxx.se/ca/cacert.pem . Simpan file ini ke C: \ RailsInstaller \ cacert.pem.
Sekarang beri tahu ruby tentang bundel otoritas sertifikat Anda dengan menetapkan SSL_CERT_FILE. Untuk mengatur ini di sesi prompt perintah Anda saat ini, ketik:
set SSL_CERT_FILE = C: \ RailsInstaller \ cacert.pem
sumber
Saya memiliki masalah yang sama ketika mencoba untuk menginstal permata mentimun. Namun saya perhatikan bahwa permata bundler sudah diinstal dengan ruby 2.0. Saya membuat Gemfile.rb di folder proyek dengan permata yang diperlukan dan mengikuti langkah-langkah ini
Semua permata yang diperlukan terpasang.
sumber
Untuk Illumos / Solaris menggunakan pkgutil OpenCSW:
Instal sertifikat CSW sebelum 'permata instal'
Jika Anda menggunakan kit ruby yang bukan dari OpenCSW, versi ruby Anda mungkin berharap menemukan file sertifikat di tempat lain. Dalam hal ini, saya cukup mengaitkan /etc/opt/csw/ssl/cert.pem OpenCSW ke tempat yang diharapkan.
Periksa di mana ruby mengharapkan untuk menemukannya:
Lalu, jika ada perbedaan, tautkan:
sumber
Atau mungkin dicegah dengan firewall seperti saya. Coba ini:
sudo gem install --http-proxy http: // localhost: port cocoapods -V
sumber
Untuk pengguna Windows:
Setelah menginstal Ruby 2.2.3 (+ rubygems 2.5.1) berhasil pada mesin uji dengan akses ke internet, saya mengalami kesalahan SSL ini ketika saya menginstal bundler pada mesin produksi, dalam jaringan.
Karena saya memiliki keterbatasan akses jaringan, dan tidak ada cara untuk mengubah pengaturan untuk akses SSL, dan berdasarkan pesan kesalahan, saya melakukan langkah-langkah di bawah ini untuk dapat menyelesaikan instalasi bundler (ini mungkin terdengar gila, tetapi itu bekerja...).
Melalui mesin dengan akses tidak terbatas ke internet, unduh file berikut:
Saya menambahkan file-file ini di server intranet, menjaga struktur folder dari tautan di atas:
spec.4.8.gz dan latest_specs.4.8.gz
bundler-1.11.2.gemspec.rz
bundler-1.11.2.gem
Lalu saya menambahkan intranet saya untuk mengakses sumber permata:
Saya telah berhasil menjalankan "gem install bundler" setelah instalasi, yang diperlukan hanyalah menghapus intranet permata saya:
Saya harap itu berguna dalam situasi serupa ....
sumber
Sebagai pengguna Windows 10, saya mengikuti jawaban Dheerendra , dan itu berhasil pada suatu hari. Hari berikutnya, saya mengalami masalah lagi, dan perbaikannya tidak berhasil. Bagi saya, perbaikannya adalah memperbarui
bundler
dengan:gem update bundler
Saya percaya versi saya
bundler
sudah lebih dari beberapa bulan.sumber
Pastikan Anda telah menginstal ruby dengan --disable-binary opsi , jika tidak, copot dan pasang kembali dengan opsi.
info lebih lanjut di sini
sumber
Jawabannya tidak lagi valid. Karena saya mengalami masalah dengan ruby Windows yang lebih lama sekarang saya akan memposting jawabannya.
Ketika saya ingin menginstal permata activesupport:
Langkah-langkah berikut hanya perlu menyalin sertifikat dari windows ruby yang lebih baru. Ambil ruby terbaru (atau setidaknya ruby 2.4.0 ) dan lakukan hal berikut:
salin sertifikat dari direktori ini (sesuaikan dengan kebutuhan Anda):
C:\prg_sdk\rubies\Ruby-2.4\lib\ruby\2.4.0\rubygems\ssl_certs\rubygems.org
C:\prg_sdk\rubies\Ruby-2.4\lib\ruby\2.4.0\rubygems\ssl_certs\index.rubygems.org
ke tujuan (sesuaikan lagi dengan yang Anda butuhkan):
C:\prg_sdk\rubies\Ruby231-p112-x64\lib\ruby\2.3.0\rubygems\ssl_certs
sumber