Ответ 1
Это фиксируется, избегая https и вместо этого вместо небезопасного http. Выполнение этого сработало для меня.
gem source -a http://rubygems.org/
Я попытался установить 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
Это фиксируется, избегая https и вместо этого вместо небезопасного http. Выполнение этого сработало для меня.
gem source -a http://rubygems.org/
rvm osx-ssl-certs update all
сделал трюк для меня, ruby 2.0.0
Попробуйте использовать http://rubygems.org/ (без SSL) в качестве источника - это исправило ошибку для меня.
gem source -r https://rubygems.org/
gem source -a http://rubygems.org/
gem install cocoapods
Текущая версия rvm намного лучше справляется с этой задачей: run:
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\рубинового\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
После этого откройте новую оболочку или исходный файл, и все должно быть хорошо, чтобы идти:)
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
Надеюсь, что это исправляет!
Если вы находитесь в Китае, попробуйте использовать 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 missing, like apple-gcc42.
rvm install 2.0.0 --with-gcc=gcc-4.2
Вы можете сначала установить новый 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. Удачи (-:
Вместо этого вы можете попытаться обновить 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 в свой файл ~/.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
, чтобы начать редактирование.