RVM выдает ошибку сертификата при попытке загрузить Ruby 1.9.2. Похоже curl
, возникла проблема с сертификатом, но я не знаю, как ее обойти. Я включил точную информацию об ошибке ниже.
$ 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.
Как я могу устранить или избежать этой ошибки?
ruby-on-rails
curl
rvm
Уилл Деннис
источник
источник
Ответы:
Если кто-то еще столкнется с этим при попытке обновления до 1.9.3 (хотя версия, вероятно, не имеет значения), проверьте версию rvm, которая у вас установлена. Уэйн, похоже, перешел с rvm.beginrescueend.com на rvm.io. Срок действия сертификата безопасности старого сайта истек, поэтому ответ curl правильный.
Обновление rvm с нового сайта устранило эту проблему и позволило мне двигаться дальше.
$ \curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enabled
Обновление : как упоминалось в @rodgerdpack, команда изменяется, и я обновил приведенное выше. В общем, последние новости можно найти на https://rvm.io/ .
источник
Если вы не хотите изменять сценарий И вы не хотите добавлять сертификат «навсегда» в пакет сертификатов. Есть очень красивое и быстрое решение:
#to download the cert wget http://curl.haxx.se/ca/cacert.pem #to let curl use it for the next calls export CURL_CA_BUNDLE=~/cacert.pem
Затем запустите свой сценарий. Чтобы сбросить переменную среды (для последующих вызовов сценария, которые не должны использовать этот сертификат) повторно войдите в систему или отключите переменную среды:
export CURL_CA_BUNDLE=
источник
Curl вызывается в .rvm / scripts / fetch, который по умолчанию находится в вашем домашнем каталоге.
Отредактируйте это с помощью вашего любимого текстового редактора: например,
nano ~/.rvm/scripts/fetch
В строках 56 и 58 (конечно, могут отличаться от других версий RVM) вы увидите две строки, которые начинаются
fetch_command="curl ...
Просто добавьте -k после curl, сохраните и попробуйте снова.
источник
echo insecure >> ~/.curlrc
или, что еще лучше, просто обновите сертификаты в соответствии с инструкциямиВам необходимо загрузить сертификат CA с http://curl.haxx.se/ca/cacert.pem и добавить его в свой файл curl-ca-bundle-new.crt.
Чтобы найти расположение этого файла, используйте:
$ curl-config --ca /usr/share/curl/curl-ca-bundle.crt
Сделайте резервную копию файла curl-ca-bundle.crt:
Затем вы хотите объединить два файла, используя:
$ cat cacert.pem /usr/share/curl/curl-ca-bundle.crt >> curl-ca-bundle-new.crt
источник
Возможно, когда-то все эти сложные решения были необходимы, но теперь все, что вам нужно сделать, это сначала обновить RVM, и ваша проблема будет решена:
$ rvm get stable $ rvm reload $ rvm install ruby-1.9.3-p194
источник
Если вы не против отключить проверку сертификатов в curl (я не против):
echo insecure > ~/.curlrc
источник
На Centos 5.6 (Final) у меня возникла проблема с установкой rvm 1.9.2 Ошибка была:
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 /usr/local/rvm/log/ruby-1.9.2-p290/*.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 /usr/local/rvm/log/ruby-1.9.2-p290/*.log ERROR: There has been an error while trying to fetch the source. Halting the installation. ERROR: There has been an error fetching the ruby interpreter. Halting the installation.
Вот список действий, которые помогли мне решить проблему
$ curl-config --ca # show path to the certificate /usr/local/share/curl/curl-ca-bundle.crt $ cd /usr/local/share/curl/ # go to that path $ cp curl-ca-bundle.crt curl-ca-bundle.crt.bak # backup certificate $ curl http://curl.haxx.se/ca/cacert.pem -o curl-ca-bundle.crt # download new $ rvm install 1.9.2 # bingo it works
Кстати, версия curl - это curl 7.18.0 (чтобы проверить '$ curl -V')
источник
Я пытался установить
ruby-1.9.2-p290
и столкнулся с той же проблемой. После запускаwhich curl
и осознания того, что экземпляр curl был получен из установки MAMP в моей системе (OS X Snow Leopard), я перенастроил своюPATH
переменную, чтобы использовать значение по умолчанию в системе/usr/bin/curl
. Используя эту версию, уcurl 7.19.7
меня не возникло проблем с установкой последней версии Ruby с RVM.источник
У меня возникли проблемы с установкой 1.9.2 с помощью RVM, вот мое решение:
Выполните эти команды:
chmod 777 yaml-0.1.3.tar.gz
tar zxf /Users//.rvm/archives/yaml-0.1.3.tar.gz -C /Users//.rvm/src
Я все еще получаю ошибку "файл не найден", но установка прошла успешно
источник
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
Спасибо, Дороти - этот рецепт у меня сработал со следующими незначительными изменениями для среды Win7:
Для других с этой проблемой -
Цените обсуждение обновления CA_Bundle - это хорошо, но это не помогло с этой проблемой - сертификат веб-сайта pyyaml по-прежнему будет вызывать ошибку CURL, и поскольку CURL запускается в установщике, нет возможности добавить параметр -k .
Ruby 1.9.2-p290 пытается установить YAML 0.1.4, поэтому Google для зеркала и загрузите эту версию - YAML-0.1.3 не повлияет на решение проблем.
Вам нужно сделать Windows-эквивалент CHMOD 777 - в папке rvm / src для извлеченных файлов. Измените безопасность, чтобы у всех были права собственности / все права, и отключите атрибут только для чтения для всех файлов и папок.
Программа установки по-прежнему будет выдавать ошибки при попытке загрузки (ошибка CURL), но продолжит работу, пытаясь извлечь. Извлечение вызовет ошибки, потому что tarball уже извлечен в папку src. Следующий шаг настройки YAML должен работать без ошибок, если разрешения на шаге 3 были установлены правильно и установка должна завершиться без дальнейших проблем. (При установке через cygwin / bash вам нужно будет добавить компилятор C, например 'gcc', и добавить 'ncurses' (команда tput) и 'make' к параметрам настройки ядра cygwin по умолчанию.)
источник
$ sudo apt-get install curl $ curl -L https://get.rvm.io | bash -s stable --ruby with ruby $ curl -L https://get.rvm.io | bash -s stable --rails with rails
источник