gem install fails with openssl failure
Я пытался установить cocoapods (http://cocoapods.org/) на моем OSX Mountain Lion.
moshe-mbp:~ moshem$ gem install cocoapods
ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server key exchange B: bad ecpoint (https://rubygems.org/latest_specs.4.8.gz)
сначала я пробовал
rvm reinstall all --force
затем я попробовал
brew upgrade openssl
==> Upgrading openssl
==> Downloading http://openssl.org/source/openssl-1.0.1e.tar.gz
Already downloaded: /Library/Caches/Homebrew/openssl-1.0.1e.tar.gz
==> perl ./Configure --prefix=/usr/local/Cellar/openssl/1.0.1e --openssldir=/usr/local/etc/openssl zlib-dynamic shared d
==> make
==> make test
==> make install MANDIR=/usr/local/Cellar/openssl/1.0.1e/share/man MANSUFFIX=ssl
==> Caveats
To install updated CA certs from Mozilla.org:
brew install curl-ca-bundle
This formula is keg-only: so it was not symlinked into /usr/local.
Mac OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.
The OpenSSL provided by OS X is too old for some software.
Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:
LDFLAGS: -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
==> Summary
11 ответов:
это исправлено, избегая https и используя небезопасный http вместо этого. Запуск этого работал для меня.
gem source -a http://rubygems.org/
попробуйте использовать http://rubygems.org/ (без SSL) в качестве источника - это исправило ошибку для меня.
gem source -r https://rubygems.org/ gem source -a http://rubygems.org/ gem install cocoapods
текущая версия rvm делает намного лучшую работу с этими вещами, запустите:
rvm get head rvm reload rvm autolibs enable rvm reinstall 1.9.3 --disable-binaryобязательно следуйте инструкциям на экране-это все, чтобы помочь вам.
вот что решило это для меня: Установите этот сертификат: https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem
в этой папке: {rubyfolder}\lib\ruby\2.1.0\rubygems\ssl_certs
таким образом, вам не нужно добавлять небезопасные источники.
дополнительная информация здесь:https://gist.github.com/luislavena/f064211759ee0f806c88
у меня была такая же ошибка. Чтобы исправить просто запустите следующие команды (я знаю, что вы запустили некоторые, но юмор меня):
brew update brew install openssl brew link openssl --force brew install curl-ca-bundleпосле этого, откройте новую оболочку или источник ваших файлов и все должно пойти хорошо :)
обновление:
чтобы обновить свои пути, вам нужно будет отредактировать файл /etc / paths, поэтому сделайте что-то вроде:
sudo vim /etc/pathsвнутри должно выглядеть что-то вроде:
/usr/bin /bin /usr/sbin /sbin /usr/local/binчто вы хотите сделать, это убедиться, что
/usr/local/binв в верхней части файла. Так что измените его на что-то вроде:/usr/local/bin /usr/bin /bin /usr/sbin /sbinнадеюсь, что это исправит!
Если вы находитесь в Китае, попробуйте использовать http://ruby.taobao.org/ как источник-это исправило ошибку для меня. В то же время, избегайте https. Запуск этого работал для меня.
gem sources --remove https://rubygems.org/ gem sources -a http://ruby.taobao.org/ gem install cocoapods
следующие получили все, что работает для меня!
rvm get stable brew update brew install libyaml brew install pkg-config brew install libxml2 brew install libxslt brew install openssl brew link openssl --force brew install sqlite brew install apple-gcc42 rvm install 2.0.0 --with-gcc=gcc-4.2Если это не сработает, попробуйте удалить существующий библиотек RubyGems и следовать этому:
rvm remove 2.0.0 rvm get head --autolibs=3 rvm requirements #At this point, brew install anything that's missing, like apple-gcc42. rvm install 2.0.0 --with-gcc=gcc-4.2
вы можете сначала установить более новый openssl, как описал Майк Слуцкий. Чтобы проверить версию openssl:
$ openssl versionполучить более свежий здесь:http://www.openssl.org/source/ Затем настроить и установить его:
$ cd openssl-1.0.1f_src/ $ ./Configure --prefix=/Users/me/bin/openssl-1.0.1f_bin darwin64-x86_64-cc $ make installТеперь настройте ruby с помощью этого openssl:
$ cd ruby-2.1.0_src/ $ ./configure --with-openssl-dir=/Users/me/bin/openssl-1.0.1f_bin --prefix=/Users/me/bin/ruby-2.1.0_binПримечание: новый openssl не должен быть на вас $PATH. Это сработало для меня с ruby 2.0 и 2.1. Удачи (-:
вместо этого вы можете попробовать обновить OpenSSL из источника:
curl -L -O http://www.openssl.org/source/openssl-1.0.1b.tar.gz.asc curl -L -O http://www.openssl.org/source/openssl-1.0.1b.tar.gz gpg --verify openssl-1.0.1b.tar.gz.asc tar xvzf openssl-1.0.1b.tar.gz cd openssl-1.0.1b perl ./Configure shared zlib --prefix=/opt/local darwin64-x86_64-cc make make test sudo make install
я исправил это, только добавив к переменной PATH в моем~/.файл, что в моем случае означает изменение
export PATH="/usr/local/mysql/bin:$PATH" export PATH=$M2:$PATH export PATH=$JAVA_HOME/bin:$PATHдо
export PATH="$PATH:/usr/local/mysql/bin" export PATH=$PATH:$M2 export PATH=$PATH:$JAVA_HOME/binв терминале, типа
nano ~/.bash_profileначать редактирование.
Comments