Подтвердить что ты не робот

Ошибка установки gem с отказом openssl

Я попытался установить 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
    🍺  /usr/local/Cellar/openssl/1.0.1e: 429 files, 15M, built in 5.1 minutes

Затем я попробовал

openssl version

и еще (!) получает более старую версию

moshe-mbp:~ moshem$ openssl version
OpenSSL 0.9.8r 8 Feb 2011
moshe-mbp:~ moshem$ 

что я делаю неправильно? как я могу установить драгоценный камень cocoapods?

спасибо


РЕДАКТИРОВАТЬ, попробовав предложение @sean:

moshe-mbp:~ moshem$ brew update
Updated Homebrew from 672af665 to 10b4d426.
==> Updated Formulae
bash        wireshark
moshe-mbp:~ moshem$ brew install openssl
Error: openssl-1.0.1e already installed
moshe-mbp:~ moshem$ brew link openssl --force
Linking /usr/local/Cellar/openssl/1.0.1e... 1139 symlinks created
moshe-mbp:~ moshem$ brew install curl-ca-bundle
Error: curl-ca-bundle-1.87 already installed
moshe-mbp:~ moshem$ 
moshe-mbp:~ moshem$ openssl version
OpenSSL 0.9.8r 8 Feb 2011
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)

ИЗМЕНИТЬ (2) после устранения проблем с brew doctor

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)
moshe-mbp:~ moshem$ openssl version
OpenSSL 0.9.8r 8 Feb 2011
moshe-mbp:~ moshem$ brew update
Updated Homebrew from 10b4d426 to 6a00bc3c.
==> Updated Formulae
clozure-cl  python  python3
moshe-mbp:~ moshem$ brew install openssl
Error: openssl-1.0.1e already installed
moshe-mbp:~ moshem$ 
moshe-mbp:~ moshem$ echo $PATH
/Users/moshem/.rvm/gems/ruby-2.0.0-p0/bin:/Users/moshem/.rvm/gems/[email protected]/bin:/Users/moshem/.rvm/rubies/ruby-2.0.0-p0/bin:/Users/moshem/.rvm/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/tools:/platforms:/platform-tools:
moshe-mbp:~ moshem$ 

ИЗМЕНИТЬ после изменения /etc/paths

Я редактировал файлы /etc/path для:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

закрыть терминал и снова открыть его, и он все еще запускает старую версию openssl!

почему?

moshe-mbp:~ moshem$ env $PATH
env: /Users/moshem/.rvm/gems/ruby-2.0.0-p0/bin:/Users/moshem/.rvm/gems/[email protected]/bin:/Users/moshem/.rvm/rubies/ruby-2.0.0-p0/bin:/Users/moshem/.rvm/bin:/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/tools:/platforms:/platform-tools

EDIT, мой bash_profile

source "`brew --prefix grc`/etc/grc.bashrc"

export PATH=${JAVA_HOME}/bin:$PATH
export PATH="$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platforms:$ANDROID_SDK/platform-tools:$ANDROID_NDK"

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

BTW,/etc/grc.bashrc, похоже, не существует на моей машине. и эта строка, и строка rvm в конце были добавлены установленными сценариями


ИЗМЕНИТЬ

moshe-mbp:~ moshem$ rvm pkg install openssl 
Fetching openssl-1.0.1c.tar.gz to /Users/moshem/.rvm/archives
Extracting openssl to /Users/moshem/.rvm/src/openssl-1.0.1c
Configuring openssl in /Users/moshem/.rvm/src/openssl-1.0.1c.
Compiling openssl in /Users/moshem/.rvm/src/openssl-1.0.1c.
Installing openssl to /Users/moshem/.rvm/usr

Please note that it required to reinstall all rubies:

    rvm reinstall all --force

Updating openssl certificates
moshe-mbp:~ moshem$ openssl version
OpenSSL 1.0.1e 11 Feb 2013


moshe-mbp:~ moshem$ gem source -r http://rubygems.org/
http://rubygems.org/ removed from sources
moshe-mbp:~ moshem$ gem source -a https://rubygems.org/
Error fetching https://rubygems.org/:
    SSL_connect returned=1 errno=0 state=SSLv3 read server key exchange B: bad ecpoint (https://rubygems.org/specs.4.8.gz)
moshe-mbp:~ moshem$ gem install cocoapods
ERROR:  Could not find a valid gem 'cocoapods' (>= 0) in any repository
4b9b3361

Ответ 1

Это фиксируется, избегая https и вместо этого вместо небезопасного http. Выполнение этого сработало для меня.

gem source -a http://rubygems.org/

Ответ 2

rvm osx-ssl-certs update all

сделал трюк для меня, ruby ​​2.0.0

Ответ 3

Попробуйте использовать http://rubygems.org/ (без SSL) в качестве источника - это исправило ошибку для меня.

gem source -r https://rubygems.org/
gem source -a http://rubygems.org/
gem install cocoapods

Ответ 4

Текущая версия rvm намного лучше справляется с этой задачей: run:

rvm get head
rvm reload
rvm autolibs enable
rvm reinstall 1.9.3 --disable-binary

Обязательно соблюдайте все отображаемые инструкции - все это вам поможет.

Ответ 5

Вот что я решил для меня: Установите этот сертификат: https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem

В этой папке: {Rubyfolder}\Lib\рубинового\2.1.0\RubyGems\ssl_certs

Таким образом, вам не нужно добавлять ненадежные источники.

Подробнее здесь: https://gist.github.com/luislavena/f064211759ee0f806c88

Ответ 6

У меня была такая же ошибка. Чтобы исправить, просто запустите следующие команды (я знаю, что вы запустили некоторые, но юмористически меня):

brew update
brew install openssl
brew link openssl --force
brew install curl-ca-bundle

После этого откройте новую оболочку или исходный файл, и все должно быть хорошо, чтобы идти:)

UPDATE:

Чтобы обновить ваши пути, вам нужно будет отредактировать файл /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

Надеюсь, что это исправляет!

Ответ 7

Если вы находитесь в Китае, попробуйте использовать http://ruby.taobao.org/ в качестве источника - это исправило ошибку для меня. В то же время избегайте https. Выполнение этого сработало для меня.

gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem install cocoapods

Ответ 8

Следующее заработало для меня все!

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 missing, like apple-gcc42.

rvm install 2.0.0 --with-gcc=gcc-4.2

Ответ 9

Вы можете сначала установить новый opensl, как описал Майк Слуцкий. Чтобы проверить версию 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

Примечание: новый opensl не должен быть на вас $PATH. Это работало для меня с ruby ​​2.0 и 2.1. Удачи (-:

Ответ 10

Вместо этого вы можете попытаться обновить 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

источник

Ответ 11

Я исправил его только добавлением переменной PATH в свой файл ~/.bash_profile, что в моем случае означало изменение

export PATH="/usr/local/mysql/bin:$PATH"
export PATH=$M2:$PATH
export PATH=$JAVA_HOME/bin:$PATH

to

export PATH="$PATH:/usr/local/mysql/bin"
export PATH=$PATH:$M2
export PATH=$PATH:$JAVA_HOME/bin

В терминале введите nano ~/.bash_profile, чтобы начать редактирование.