RVM rencontre une erreur de certificat lors de la tentative de téléchargement de Ruby 1.9.2. Il semble curl
avoir un problème de certificat, mais je ne sais pas comment le contourner. J'ai inclus les informations d'erreur exactes ci-dessous.
$ 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.
Comment puis-je résoudre ou éviter cette erreur?
ruby-on-rails
curl
rvm
Will Dennis
la source
la source
Réponses:
Au cas où quelqu'un d'autre rencontrerait cela en essayant de mettre à jour vers la 1.9.3 (bien que la version n'ait probablement pas d'importance), vérifiez la version de rvm que vous avez. Wayne semble être passé de rvm.beginrescueend.com à rvm.io. Le certificat de sécurité de l'ancien site a expiré, la réponse de curl est donc correcte.
La mise à jour de rvm depuis le nouveau site a résolu ce problème et m'a permis d'avancer.
Mise à jour : comme @rodgerdpack l'a mentionné, la commande change et j'ai mis à jour ce qui précède. En général, voir https://rvm.io/ pour la dernière.
la source
Si vous ne souhaitez pas modifier le script ET que vous ne souhaitez pas ajouter un certificat "pour toujours" au bundle de certificats. Il existe une solution très agréable et rapide:
Ensuite, exécutez votre script. Pour réinitialiser la variable d'environnement (pour les appels de script ultérieurs qui ne devraient pas utiliser ce certificat), reconnectez-vous à votre système ou désactivez la variable d'environnement:
la source
Curl est appelé dans .rvm / scripts / fetch, qui par défaut sera dans votre répertoire personnel.
Modifiez-le à l'aide de votre éditeur de texte préféré: par exemple,
Aux lignes 56 et 58 (peut varier avec d'autres versions de RVM, bien sûr), vous verrez deux lignes qui commencent
Ajoutez simplement -k après curl, enregistrez et réessayez.
la source
echo insecure >> ~/.curlrc
ou mieux, mettez simplement à jour les certificats selon les instructionsVous devez télécharger le certificat ca depuis http://curl.haxx.se/ca/cacert.pem et les ajouter à votre fichier curl-ca-bundle-new.crt.
Pour trouver l'emplacement de ce fichier, utilisez:
Sauvegardez votre fichier curl-ca-bundle.crt:
Ensuite, vous souhaitez concaténer les deux fichiers en utilisant:
la source
Peut-être que toutes ces solutions compliquées étaient autrefois nécessaires, mais il ne vous reste plus qu'à mettre à niveau RVM et votre problème sera résolu:
la source
Si cela ne vous dérange pas de désactiver la vérification des certificats dans curl (je ne le fais pas):
la source
Sur Centos 5.6 (Final), j'ai eu un problème avec l'installation de rvm 1.9.2 L'erreur était:
Voici une liste d'actions qui m'ont aidé à résoudre le problème
La version btw curl est curl 7.18.0 (pour vérifier '$ curl -V')
la source
J'essayais d'installer
ruby-1.9.2-p290
et suis tombé sur le même problème. Après avoir exécutéwhich curl
et réalisé que l'instance curl provenait d'une installation de MAMP sur mon système (OS X Snow Leopard), j'ai reconfiguré maPATH
variable pour utiliser la valeur par défaut du système à/usr/bin/curl
. En utilisant cette version,curl 7.19.7
je n'ai eu aucun problème à installer la dernière version de Ruby avec RVM.la source
J'ai eu du mal à installer 1.9.2 en utilisant RVM, voici ma solution:
Exécutez ces commandes:
chmod 777 yaml-0.1.3.tar.gz
tar zxf /Users//.rvm/archives/yaml-0.1.3.tar.gz -C /Users//.rvm/src
J'ai toujours l'erreur de fichier introuvable mais l'installation a réussi
la source
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
Merci Dorothy - cette recette a fonctionné pour moi avec les modifications mineures suivantes pour un environnement Win7:
Pour les autres avec ce problème -
J'apprécie la discussion sur la mise à jour de CA_Bundle - C'est bien à faire mais cela n'a pas aidé avec ce problème - le certificat de site Web pyyaml provoquera toujours une erreur de CURL et comme CURL est lancé dans le programme d'installation, aucun moyen d'ajouter une option -k .
Ruby 1.9.2-p290 essaie d'installer YAML 0.1.4 donc Google pour un miroir et télécharger cette version - YAML-0.1.3 n'aura aucun effet pour contourner les problèmes.
Vous devez faire l'équivalent Windows de CHMOD 777 - dans le dossier rvm / src pour les fichiers extraits. Modifiez la sécurité de sorte que tout le monde ait la propriété / tous les privilèges et désactivez l'attribut en lecture seule pour tous les fichiers et dossiers.
Le programme d'installation lancera toujours des erreurs lorsqu'il essaiera de télécharger (erreur CURL), mais reprendra en essayant d'extraire. L'extraction lancera des erreurs car l'archive tar est déjà extraite dans le dossier src. L'étape suivante de configuration de YAML devrait fonctionner sans erreur si les autorisations de l'étape 3 ont été définies correctement et l'installation doit se terminer sans autres problèmes. (Si vous installez via cygwin / bash, vous devrez ajouter un compilateur C comme 'gcc' et ajouter 'ncurses' (commande tput) et 'make' aux options de configuration de cygwin par défaut.)
la source
la source