доморощенный openssl + рвм сломан - PullRequest
0 голосов
/ 27 сентября 2018

Каким-то образом мой RVM не может установить гемы, потому что мой openssl перестал работать.У меня openssl и openssl@1.1 установлены через brew.После обновления до macOS 10.14 я не могу установить гемы.Когда я пытаюсь получить, я получаю:

$ gem install rdoc-data -v 3.12
ERROR:  Could not find a valid gem 'rdoc-data' (= 3.12), here is why:
          Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: tlsv1 alert protocol version (https://rubygems.org/specs.4.8.gz)

Когда я проверяю ssl-сертификаты RVM, я получаю:

1st machine $ rvm osx-ssl-certs status all
Warning! PATH is not properly set up, /Users/MYACCOUNT/.rvm/gems/ruby-1.8.7-head/bin is not at first place.
         Usually this is caused by shell initialization files. Search for PATH=... entries.
         You can also re-add RVM to your profile by running: rvm get stable --auto-dotfiles
         To fix it temporarily in this shell session run: rvm use ruby-1.8.7-head
         To ignore this error add rvm_silence_path_mismatch_check_flag=1 to your ~/.rvmrc file.
Selected SSL certs for: ruby-2.3.4
cURL certificate bundle /usr/share/curl/curl-ca-bundle.crt not found
Certificates bundle /usr/local/etc/openssl/cert.pem is up to date.
Certificates bundle /etc/openssl/cert.pem is up to date.
Certificates bundle /System/Library/OpenSSL/cert.pem is old.
Certificates bundle  is old.
Certificates bundle /usr/local/etc/openssl@1.1/cert.pem is up to date.

и

1st machine $ rvm osx-ssl-certs update all
.
.
cURL certificate bundle /usr/share/curl/curl-ca-bundle.crt not found
Updating certificates bundle /usr/local/etc/openssl/cert.pem: Already up to date.
Updating certificates bundle /etc/openssl/cert.pem: Already up to date.
Updating certificates bundle /System/Library/OpenSSL/cert.pem: Updating certificates bundle '/System/Library/OpenSSL/cert.pem'
MYACCOUNT password required for 'command tee /System/Library/OpenSSL/cert.pem': 
tee: /System/Library/OpenSSL/cert.pem: Operation not permitted
Failed.
Updating certificates bundle /System/Library/OpenSSL/cert.pem: Updating certificates bundle '/System/Library/OpenSSL/cert.pem'
tee: /System/Library/OpenSSL/cert.pem: Operation not permitted
Failed.
Updating certificates bundle /usr/local/etc/openssl@1.1/cert.pem: Already up to date.

В других машинах я завариваю/ openssl полагается только на свой собственный сертификат в / usr / local / etc / openssl /, а не на /System/Library.OpenSSL сертификаты;

2nd machine $ rvm osx-ssl-certs status all
.
.
Selected SSL certs for: ruby-1.8.7-head
cURL certificate bundle /usr/share/curl/curl-ca-bundle.crt not found
Certificates bundle /usr/local/etc/openssl/cert.pem is up to date.

Почему 1-й компьютер проверяет brew + системные сертификаты, покавторой нет?Как я могу решить эту дилемму?

1 Ответ

0 голосов
/ 28 сентября 2018

Мне удалось установить драгоценные камни.Мне пришлось перекомпилировать все рубины:

$ ram uninstall ruby-1.8.7-p374
$ rvm install ruby-1.8.7-p374 --with-gcc=clang
$ rvm use ruby-1.8.7-p374@openssl-test01 --create
$ gem install rdoc-data -v 3.12

После этого я смог установить, хотя ссылка на / System / openssl по-прежнему отображается в статусе rvm osx-ssl-certs all.

MacOS Mojave, должно быть, что-то изменил в этой конкретной машине.

...