Cuando ejecuto bundle install
mi proyecto Rails 3 en Centos 5.5, falla con un error:
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.
Cuando intento instalar la gema manualmente (por gem install multi_json -v '1.3.2'
) funciona. El mismo problema ocurre con varias otras gemas. Yo uso RVM (1.12.3), ruby 1.9.2, bundler 1.1.3.
¿Como arreglarlo?
source "https://rubygems.org''
el Gemfile y ejecutando 'gem update --system'. Puedes encontrar más información aquí .Respuestas:
Actualizar
Ahora que tengo karma que ... extraí lo suficiente de esta respuesta, todos deberían saber que esto debería haberse solucionado.
re: a través de Ownatik nuevamente la instalación del paquete falla con un error de verificación del certificado SSL
Mi respuesta sigue siendo correcta y se deja a continuación como referencia si eso no funciona para usted.
Sinceramente, la mejor solución temporal es
a través del usuario Ownatik
lo que significan está en la parte superior del
Gemfile
cambio de directorio de la aplicación en sus rielessource 'https://rubygems.org'
a
source 'http://rubygems.org'
tenga en cuenta que la segunda versión es http en lugar de http s
fuente
vendor
directorio) al servidor sobre el que escribí en la pregunta.Latest version currently installed. Aborting.
Alguna otra idea?gem update --system
falla exactamente con el mismo error de certificado: \Reemplace la fuente de gemas SSL con otras que no sean SSL como solución temporal:
fuente
La razón es viejos rubygems. Primero debe actualizar la parte del sistema utilizando una fuente que no sea SSL:
gem update --system --source http://rubygems.org/
(Actualización temporal de la parte del sistema utilizando una conexión que no sea SSL).Ahora estás listo para usar
gem update
.fuente
Si está en una Mac y usa una versión reciente de RVM (~ 1.20), el siguiente comando funcionó para mí.
fuente
Este problema ahora debería solucionarse. Actualice rubygems (
gem update --system
), asegúrese de que openssl esté en la última versión de su sistema operativo o pruebe estos consejos, ya que todavía no funciona: http://railsapps.github.com/openssl-certificate-verify-failed.htmlfuente
Solución temporal (como lo alude Ownatik):
Cree o modifique un archivo llamado .gemrc en su ruta de inicio, incluida la línea
:ssl_verify_mode: 0
Esto evitará que el paquete compruebe los certificados SSL de gemas cuando intente instalarlos.
Para dispositivos * nix, 'ruta de inicio' significa
~/.gemrc
. También puedes crear/etc/gemrc
si lo prefieres. Para Windows XP, 'ruta de inicio' significac:\Documents and Settings\All Users\Application Data\gemrc
. Para Windows 7,C:\ProgramData\gemrc
fuente
%USERPROFILE%\.gemrc
también se buscagem
en Windows.~/.gemrc
::sources: - http://rubygems.org
En windows7, puede descargar el archivo cacert.pem desde aquí y establecer la variable de entorno SSL_CERT_FILE en la ruta donde almacena el certificado, por ejemplo
o puedes configurar la variable en tu script de esta manera
ENV['SSL_CERT_FILE']="C:/users/<username>/cacert.pem"
Reemplace <nombre de usuario> con su propio nombre de usuario.
fuente
La solución real a este problema, si está utilizando RVM:
gem update --system
rvm osx-ssl-certs update all
¡Punta de sombrero para este consejo en el proyecto RailsApps !
fuente
rvm osx-ssl-certs update all
funcionó bien para mí No necesitaba hacer el paso 1.Puede descargar una lista de certificados de CA del sitio web de curl en http://curl.haxx.se/ca/cacert.pem
Luego configure la variable de entorno SSL_CERT_FILE para decirle a Ruby que la use. Por ejemplo, en Linux:
(Referencia: https://gist.github.com/fnichol/867550 )
fuente
Para aquellos de ustedes que tienen Ruby instalado a través de RVM y desean una solución rápida (prefiriendo no leer por solicitud de Bruno), simplemente intenten esto:
Para más detalles, aquí está el enlace donde encontré la solución.
http://railsapps.github.com/openssl-certificate-verify-failed.html
Por cierto, no tuve que tocar mis certificados en Ubuntu.
fuente
cacert.pem
o$rvm_path/usr/ssl
) es, de hecho, el camino correcto.:ssl_verify_mode: 0
que abre problemas), en oposición a cualquiera de las 3 soluciones a continuación, que son la forma correcta de solucionar este problema.Esto ha sido arreglado
http://guides.rubygems.org/ssl-certificate-update/
Ahora que se ha lanzado RubyGems 2.6.x, puede actualizar manualmente a esta versión.
Descargar https://rubygems.org/downloads/rubygems-update-2.6.7.gem
Descargue el archivo en un directorio al que luego pueda apuntar (por ejemplo, la raíz de su disco duro C :)
Ahora, usando su símbolo del sistema:
Después de esto, gem --version debería informar la nueva versión de actualización.
Ahora puede desinstalar con seguridad rubygems-update gem:
fuente
Instrucciones simples de copiar y pegar aquí dadas sobre el archivo .pem
https://gist.github.com/luislavena/f064211759ee0f806c88
Para la verificación del certificado falló
fuente
mismo problema pero con gema diferente aquí:
solución temporal:
gem install builder -v '3.0.0'
permite continuarbundle install
fuente
La solución más simple:
Voila!
fuente
Así es como soluciona este problema en Windows:
descargue el archivo .perm y luego configure SSL_CERT_FILE en el símbolo del sistema
https://gist.github.com/fnichol/867550
fuente
Mi solución permanente para Windows:
Descargue el CACert , guárdelo
C:\ruby\ssl_certs\GlobalSignRootCA.pem
desde http://guides.rubygems.org/ssl-certificate-update/Cree una variable del sistema llamada " SSL_CERT_FILE ", establecida en
C:\ruby\ssl_certs\GlobalSignRootCA.pem
.Intenta nuevamente
gem install bundler
:fuente
Recibo un error ligeramente diferente, aunque quizás relacionado, en Ubuntu 12.04:
Sucede cuando corro
bundle install
consource 'https://rubygems.org'
un Gemfile.Este es un problema con OpenSSL en Ubuntu 12.04. Ver el número de Rubygems # 319 .
Para solucionar esto, ejecute
apt-get update && apt-get upgrade
Ubuntu 12.04 para actualizar su OpenSSL.fuente
Pude rastrear esto hasta el hecho de que los archivos binarios que
rvm
descargan no funcionan bien con OpenSSL de OS X, que es viejo y ya no lo usa el sistema operativo.La solución para mí fue forzar la compilación al instalar Ruby a través de
rvm
:fuente
Gracias a @ Alexander.Iljushkin por:
gem update --system --source http://rubygems.org/
Después de que ese paquete todavía falló y la solución fue:
gem install bundler
fuente
Estaba recibiendo un error similar. Así es como resolví esto: en su directorio de ruta, busque Gemfile. Edite la fuente en el archivo de gemas a http en lugar de https y guárdelo. Esto podría instalar el paquete sin el problema del certificado SSL.
fuente
Para la máquina Windows, verifique su versión de gema con
Luego actualiza tu gema de la siguiente manera:
Descargue el archivo en un directorio al que luego pueda apuntar (por ejemplo, la raíz de su disco duro C :)
Ahora, usando su símbolo del sistema:
Ahora, la instalación del paquete tendrá éxito sin un error de verificación del certificado SSL.
Instrucciones más detalladas están aquí
fuente
Esto funcionó para mí:
gem install --local [path to downloaded gem file]
update_rubygems
gem --version
fuente
Tuve que reinstalar openssl:
fuente
Recientemente me enfrenté a este problema y seguí los pasos descritos aquí . Es posible que no esté señalando el certificado OpenSSL correcto. Despues de correr:
y
el paquete completo corrió!
fuente
Descarga rubygems-update-2.6.7.gem .
Ahora, usando su símbolo del sistema:
Después de esto,
gem --version
debe informar la nueva versión de actualización.Ahora puede desinstalar con seguridad rubygems-update gem:
fuente
Para tener en cuenta, si está obteniendo gemas de una fuente en la que una autoridad de certificación interna confía en el certificado SSL (o se está conectando a una fuente externa a través de un proxy web de la empresa con inspección SSL), señale su variable env SSL_CERT_FILE a su cadena de certificados . Lo más probable es que solo requiera exportar su certificado raíz de su almacén de certificados (System Keychain en macOS) a una ubicación accesible desde su shell, es decir:
fuente
Si estas usando
rails-assets
Si estaba utilizando
https://rails-assets.org/
para administrar sus activos, no hay respuestas que lo ayuden. Incluso convertir ahttp
no ayudará.La solución más simple es utilizar esta fuente en su lugar,
http://insecure.rails-assets.org
. Esto ha sido mencionado en su página de inicio .fuente
Lo único que funcionó para mí en el sistema de Windows heredado y la versión ruby 1.9 es descargar el archivo cacert de http://guides.rubygems.org/ssl-certificate-update/
Y luego ejecuta debajo del comando antes de ejecutar la instalación del paquete
fuente