RVM se encuentra con un error de certificado al intentar descargar Ruby 1.9.2. Parece que curl
tiene un problema de certificado, pero no estoy seguro de cómo evitarlo. He incluido la información exacta del error a continuación.
$ 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.
¿Cómo puedo resolver o evitar este error?
ruby-on-rails
curl
rvm
Will Dennis
fuente
fuente
Respuestas:
En caso de que alguien más se encuentre con esto mientras intenta actualizar a 1.9.3 (aunque la versión probablemente no importe), verifique la versión de rvm que tiene. Wayne parece haberse movido de rvm.beginrescueend.com a rvm.io. El certificado de seguridad del sitio anterior ha caducado, por lo que la respuesta de curl es correcta.
La actualización de rvm desde el nuevo sitio solucionó este problema y me permitió seguir adelante.
Actualización : como mencionó @rodgerdpack, el comando cambia y he actualizado lo anterior. En general, consulte https://rvm.io/ para conocer las últimas novedades.
fuente
Si no desea cambiar el script Y no desea agregar un certificado "para siempre" al paquete de certificados. Hay una solución muy agradable y rápida:
Luego ejecute su secuencia de comandos. Para restablecer la variable de entorno (para llamadas de script posteriores que no deberían usar este certificado) vuelva a iniciar sesión en su sistema o desarme la variable de entorno:
fuente
Curl se invoca en .rvm / scripts / fetch, que por defecto estará en su directorio de inicio.
Edítelo con su editor de texto favorito: por ejemplo,
En las líneas 56 y 58 (puede variar con otras versiones de RVM, por supuesto) verá dos líneas que comienzan
Simplemente agregue -k después de curl, guarde y vuelva a intentarlo.
fuente
echo insecure >> ~/.curlrc
o, mejor aún, actualice los certificados según las instrucciones deDebe descargar el certificado ca de http://curl.haxx.se/ca/cacert.pem y agregarlos a su archivo curl-ca-bundle-new.crt.
Para encontrar la ubicación de este archivo use:
Haga una copia de seguridad de su archivo curl-ca-bundle.crt:
Entonces desea concatenar los dos archivos usando:
fuente
Quizás todas estas soluciones complicadas alguna vez fueron necesarias, pero ahora todo lo que necesita hacer es primero actualizar RVM y su problema estará resuelto:
fuente
Si no le importa deshabilitar la verificación del certificado en curl (a mí no):
fuente
En Centos 5.6 (Final) tuve un problema con la instalación de rvm 1.9.2 El error fue:
Aquí hay una lista de acciones que me ayudaron a resolver el problema.
Por cierto, la versión de curl es curl 7.18.0 (para verificar '$ curl -V')
fuente
Estaba intentando instalar
ruby-1.9.2-p290
y encontré el mismo problema. Después de ejecutarwhich curl
y darme cuenta de que la instancia de curl provenía de una instalación de MAMP en mi sistema (OS X Snow Leopard), reconfiguré miPATH
variable para usar el sistema predeterminado en/usr/bin/curl
. Usando esta versión,curl 7.19.7
no tuve problemas para instalar la última versión de Ruby con RVM.fuente
Tuve problemas para instalar 1.9.2 usando RVM, aquí está mi solución:
Ejecute estos comandos:
chmod 777 yaml-0.1.3.tar.gz
tar zxf /Users//.rvm/archives/yaml-0.1.3.tar.gz -C /Users//.rvm/src
Sigo recibiendo el error de archivo no encontrado, pero la instalación se realizó correctamente
fuente
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
Gracias Dorothy: esta receta me funcionó con las siguientes modificaciones menores para un entorno Win7:
Para otros con este problema:
Aprecie la discusión sobre la actualización de CA_Bundle - Es bueno hacerlo pero no ayudó con este problema - el certificado del sitio web de pyyaml aún hará que CURL arroje un error y, dado que CURL se inicia dentro del instalador, no hay forma de agregar una opción -k .
Ruby 1.9.2-p290 está intentando instalar YAML 0.1.4 para que Google busque un espejo y descargue esa versión; YAML-0.1.3 no tendrá ningún efecto en eludir los problemas.
Debe hacer el equivalente en Windows de CHMOD 777, dentro de la carpeta rvm / src para los archivos extraídos. Cambie la seguridad para que todos tengan la propiedad / todos los privilegios y desactive el atributo de solo lectura para todos los archivos y carpetas.
El instalador seguirá arrojando errores cuando intente descargar (error CURL), pero se reanudará al intentar extraer. La extracción arrojará errores porque el tarball ya se extrajo a la carpeta src. El siguiente paso para configurar YAML debería funcionar sin errores si los permisos del paso 3 se establecieron correctamente y la instalación debería completarse sin más problemas. (Si instala a través de cygwin / bash, deberá agregar un compilador de C como 'gcc' y agregar 'ncurses' (comando tput) y 'make' a las opciones de configuración de cygwin centrales predeterminadas).
fuente
fuente