latest instalar for ruby-on-rails ruby ssl rvm

ruby on rails - for - Error de SSL al instalar rubygems, no se pueden extraer datos de ''https://rubygems.org/



rvm install latest (22)

Asegúrese de que el reloj de su sistema sea correcto

Este error exacto me sucedió hoy en una máquina virtual de Ubuntu que se ejecuta en VirtualBox. Probé la mayoría de las soluciones mostradas anteriormente antes de notar que había reanudado desde un estado muy antiguo suspendido, y mi reloj estaba apagado por muchos días.

Actualizar el reloj inmediatamente solucionó mi problema. Aquí está el comando que utilicé en mi caso:

sudo service ntp stop && sudo ntpdate pool.ntp.org && sudo service ntp start

Estoy tratando de hacer el tutorial de Michael Hartl. Cuando intento instalar los rieles 3.2.14 en mi gemset, obtengo el siguiente problema:

$ gem instalar rieles -v 3.2.14

ERROR: No se pudo encontrar una gema válida ''rieles'' (= 3.2.14), aquí es por qué:

No se pueden descargar datos de https://rubygems.org/ - SSL_connect devuelto = 1 errno = 0 estado = SSLv3 certificado de servidor de lectura B: error de verificación del certificado ( https://s3.amazonaws.com/production.s3.rubygems.org/specs.4.8.gz )

Después de buscar en Google, encontré que podía usar una fuente no SSL para rubygems, así que corrí:

sudo gem sources -a http://rubygems.org

Luego, cuando intenté instalar los rieles de nuevo, tuvo éxito. Sin embargo, todavía tengo el problema anterior, pero como advertencia:

ADVERTENCIA: No se pueden extraer datos de '' https://rubygems.org/ '': SSL_connect devuelto = 1 errno = 0 estado = SSLv3 certificado de servidor de lectura B: error en la verificación del certificado ( https://s3.amazonaws.com/production.s3.rubygems.org/specs.4.8.gz )

¿Cómo puedo eliminar esta advertencia / error por completo?

Estoy usando lo siguiente:

  • rvm 1.22.15
  • ruby 2.0.0p247 (2013-06-27 revisión 41674) [x86_64-darwin12.3.0]
  • OSX 10.8.5

Para Illumos / Solaris utilizando OpenCSW pkgutil:

Instale CSWcacertificates antes de ''instalar gema''

pkgutil -yi CSWcacertificates

Si está utilizando un kit de ruby ​​que no es de OpenCSW, su versión de ruby ​​esperará encontrar el archivo de certificado en otro lugar. En este caso, simplemente vinculé el enlace /etc/opt/csw/ssl/cert.pem de OpenCSW al lugar esperado.

Compruebe dónde Ruby espera encontrarlo:

export cf=`ruby -ropenssl -e ''puts OpenSSL::X509::DEFAULT_CERT_FILE''` && echo $cf

Entonces, si hay una discrepancia, vincúlala:

ln -s /etc/opt/csw/ssl/cert.pem $cf && file $cf


Para usuarios de Fedora.

Actualice cert.pem al archivo más reciente que proporciona cURL: http://curl.haxx.se/ca/cacert.pem

curl -o `ruby -ropenssl -e ''p OpenSSL::X509::DEFAULT_CERT_FILE'' |tr -d /"` http://curl.haxx.se/ca/cacert.pem


Para usuarios de RVM y OSX

Asegúrate de usar la última rvm:

rvm get stable

Entonces puedes hacer dos cosas:

  1. Actualizar certificados:

    rvm osx-ssl-certs update all

  2. Rubygems de actualización:

    rvm rubygems latest

Para usuarios no RVM

Buscar ruta para el certificado:

cert_file=$(ruby -ropenssl -e ''puts OpenSSL::X509::DEFAULT_CERT_FILE'')

Generar certificado:

security find-certificate -a -p /Library/Keychains/System.keychain > "$cert_file" security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> "$cert_file"

El código completo: https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/osx-ssl-certs

Para no usuarios de OSX

Asegúrese de actualizar el paquete ca-certificates . (En los sistemas antiguos puede que no esté disponible; no utilice ese sistema antiguo que ya no recibe actualizaciones de seguridad)

Nota de Windows

Las compilaciones de Ruby Installer para Windows están preparadas por Luis Lavena y la ruta a los certificados mostrará algo como C:/Users/Luis/... visita https://github.com/oneclick/rubyinstaller/issues/249 para más detalles y esto responde https://.com/a/27298259/497756 para corregirlo.


Para usuarios de Windows (y quizás otros)

Rubygems.org tiene una guía que no solo explica cómo solucionar este problema, sino también por qué tantas personas lo tienen: Actualización del certificado SSL La razón del problema es que rubygems.org cambió a un certificado SSL más seguro (SHA-2, que utilizar cifrado de 256 bits). La herramienta de línea de comandos rubygems agrupa la referencia al certificado correcto. Por lo tanto, los rubygems no se pueden actualizar utilizando una versión anterior de rubygems. Rubygems primero debe actualizarse manualmente.

Primero averigua qué rubíes tienes:

rubygems –v

Dependiendo de si tiene un 1.8.x, 2.0.xo 2.2.x, deberá descargar una gema de actualización, llamada "rubygems-update-XYZgem", donde XYZ es la versión que necesita. Ejecución 1.8.x: descarga: https://github.com/rubygems/rubygems/releases/tag/v1.8.30 Ejecución 2.0.x: descarga: https://github.com/rubygems/rubygems/releases/tag/v2.0.15 ejecución 2.2.x: descarga: https://github.com/rubygems/rubygems/releases/tag/v2.2.3

Instalar actualización gema:

gem install –-local full_path_to_the_gem_file

Ejecutar actualización gema:

update_rubygems --no-ri --no-rdoc

Compruebe que rubygems fue actualizado:

rubygems –v

Desinstalar actualización gema:

gem uninstall rubygems-update -x

En este punto, puede estar bien. Pero es posible que no tenga el último archivo de clave pública para el nuevo certificado. Para hacer esto:

Descargue el certificado más reciente, (actualmente AddTrustExternalCARoot-2048.pem) desde rubygems.org/pages/download . Todos los certificados también se encuentran en: https://github.com/rubygems/rubygems/tree/master/lib/rubygems/ssl_certs

Averigua dónde ponerlo:

gem which rubygems

Coloque este archivo en el directorio "rubygems / ssl_certs" en esta ubicación.

Según la confirmación de rubygems , los certificados se mueven a directorios más específicos. Por lo tanto, actualmente se espera que el certificado (AddTrustExternalCARoot-2048.pem) esté en la siguiente ruta lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot-2048.pem


Para usuarios de windows

Ir al enlace http://rubygems.org/pages/download

  1. Descarga el último archivo zip (en mi caso 2.4.5)
  2. Descomprimirlo
  3. ejecuta "ruby setup.rb" en la carpeta descomprimida
  4. ahora ejecuta el comando de instalación de gemas


Asegúrese de que haya instalado Ruby con la opción --disable-binary , si no, desinstálelo y vuelva a instalarlo con la opción.

más información here


Como usuario de Windows 10, seguí la answer de Dheerendra y un día me funcionó. Al día siguiente, volví a experimentar el problema y su solución no funcionó. Para mí, la solución fue actualizar bundler con:

gem update bundler

Creo que mi versión de bundler tenía más de unos pocos meses.


Corriendo gem update --system funcionó para mí


El caso particular de RubyGems (la herramienta de línea de comandos) es que requiere que se incluyan dentro de su código los certificados de confianza, que permiten a RubyGems establecer una conexión con los servidores incluso cuando el sistema operativo base no puede verificar la identidad de ellos.

Hasta hace unos meses, este certificado lo proporcionaba una entidad emisora ​​de certificados, pero otro certificado más reciente lo proporcionaba.

Debido a esto, las instalaciones existentes de RubyGems tendrían que actualizarse antes del cambio del certificado y dar suficiente tiempo para que se propague el cambio (y que las personas se actualicen)

Cualquiera puede encontrar su solución siguiendo los sencillos pasos que se indican en el siguiente enlace

https://gist.github.com/luislavena/f064211759ee0f806c88


En Windows, tendrá que usar HTTP fuente HTTP para actualizar la gem luego volver a usar HTTPS .

gem sources -r https://rubygems.org/ gem sources -a http://rubygems.org/ gem update --system gem sources -r http://rubygems.org/ gem sources -a https://rubygems.org/

Edición: Advertencia No estoy seguro si esto es seguro . ¿Alguien sabe si los paquetes ruby ​​están firmados? La respuesta aceptada parece una mejor solución.


En mi caso, los certificados CA de Ubuntu estaban desactualizados. Lo arreglé corriendo:

sudo update-ca-certificates


La respuesta ya no es válida. Ya que he encontrado el problema con el Windows Ruby más antiguo ahora mismo, publicaré la respuesta.

Cuando quise instalar una gema activesupport:

gem in activesupport --version 5.1.6 ERROR: Could not find a valid gem ''activesupport'' (= 5.1.6), here is why: Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B : certificate verify failed (https://api.rubygems.org/specs.4.8.gz)

Los siguientes pasos deben copiar solo los certificados de Windows Ruby más nuevos. Toma el último rubí (o al menos rubí 2.4.0 ) y haz lo siguiente:

Copie los certificados de estos directorios (ajuste a sus necesidades):
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

a destino (nuevamente ajuste a lo que necesita):
C:/prg_sdk/rubies/Ruby231-p112-x64/lib/ruby/2.3.0/rubygems/ssl_certs


O puede ser prevenido por firewall como yo. Prueba esto:

sudo gem install --http-proxy http://localhost:port cocoapods -V


Para usuarios de Windows:

Después de instalar Ruby 2.2.3 (+ rubygems 2.5.1) con éxito en una máquina de prueba con acceso a Internet, tuve este error de SSL cuando instalé el agrupador en una máquina de producción, dentro de la red.

Como tenía limitaciones de acceso a la red, y no había manera de cambiar la configuración del acceso SSL, y en función de los mensajes de error, realicé los pasos a continuación para poder finalizar la instalación del paquete (esto puede parecer una locura, pero trabajó...).

A través de una máquina con acceso ilimitado a Internet, descargó los siguientes archivos:

Agregué estos archivos en un servidor de intranet, manteniendo la estructura de carpetas de los enlaces anteriores:

  • $ INTRANET_HOME

spec.4.8.gz e latest_specs.4.8.gz

  • $ INTRANET_HOME / quick / Marshal.4.8

bundler-1.11.2.gemspec.rz

  • $ INTRANET_HOME / gems

bundler-1.11.2.gem

Luego agregué mi intranet para acceder a la fuente de gemas:

gem sources -a http://mydomain.com.br

He ejecutado con el éxito el "gem install bundler" después de la instalación, todo lo que tomó fue eliminar mi intranet de la gema:

gem sources -r http://mydomain.com.br

Espero que sea de utilidad en cualquier situación similar ....


Si desea utilizar una fuente que no sea SSL, intente eliminar primero la fuente HTTPS y luego agregue la HTTP:

sudo gem sources -r https://rubygems.org sudo gem sources -a http://rubygems.org

ACTUALIZAR:

Como indica mpapis, esto debe usarse solo como una solución temporal. Podría haber algunos problemas de seguridad si accede a RubyGems a través de una fuente no SSL.

Una vez que la solución ya no sea necesaria, debe restaurar la fuente SSL:

sudo gem sources -r http://rubygems.org sudo gem sources -a https://rubygems.org


Si está utilizando Windows, abra https://rubygems.org/ con internet explorer.

Haga clic en la información de seguridad e importe el certificado. La conclusión es que su cadena de certificación está desactualizada y necesita agregar este nuevo certificado. Recuerde que esto no es una infracción de seguridad siempre que pueda validar el certificado como confiable.


Simplemente desinstalar y reinstalar openssl con homebrew solucionó este problema por mí.

brew uninstall --force openssl

brew install openssl


Tratar

gem update --system

Espero que resuelva el problema.


Trate de usar el sitio web de origen para las gemas, es decir, rubygems.org. Utilice http en lugar de https. Este método no implica ningún trabajo, como la instalación de certificados y todo eso.

Ejemplo -

gem install typhoeus --source http://rubygems.org

Esto funciona, pero hay una advertencia sin embargo.

La gema está instalada, pero la documentación no se debe a errores de certificación. Aquí está el error que recibo

Parsing documentation for typhoeus-0.7.0 WARNING: Unable to pull data from ''https://rubygems.org/'': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.org/latest_specs.4.8.gz)


Tuve el mismo problema al intentar instalar la gema de pepino. Sin embargo me di cuenta de que la gema bundler ya está instalada con ruby ​​2.0. Creé un archivo Gemfile.rb en la carpeta del proyecto con las gemas necesarias y seguí estos pasos

  1. Navegar a la carpeta del proyecto
  2. Tipo de instalación de paquete

Todas las gemas necesarias instaladas.