Настройка RVM, Ruby на Mac OS X Sierra: невозможно выполнить команду openssl

Я столкнулся с проблемой установки RVM + Rubies на новом ноутбуке Mac, где после установки RVM плюс Homebrew установка для Rails вызывает ошибку:

ERROR:  While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

Фон и окружающая среда

Обнаружения и диагностика неисправностей

Начиная с чистого ноутбука, я следил за обычным путем установки Homebrew, инструментов командной строки Xcode, MySQL (для rails dev), Git, а затем RVM. Даже при наличии переменных среды, а также удаления и восстановления RVM, удаления и повторного добавления OpenSSL в Homebrew, когда вы пытаетесь установить Rails, меня приветствует ошибка:

ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

Другой элемент, который следует учитывать, заключается в том, что при установке RVM я убедился, что RVM знал о Homebrew:

rvm autolibs enable
ram autolibs homebrew

Результат установки ruby-2.3.3 ниже:

Searching for binary rubies, this might take some time.
Found remote file https://rubies.travis-ci.org/osx/10.12/x86_64/ruby-2.3.3.tar.bz2
Checking requirements for osx_brew.
Updating Homebrew...
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
ruby-2.3.3 - #configure
ruby-2.3.3 - #download
ruby-2.3.3 - #validate archive
ruby-2.3.3 - #extract
ruby-2.3.3 - #validate binary
Libraries missing for ruby-2.3.3: /Users/travis/.rvm/rubies/ruby-2.3.3/lib/libruby.2.3.0.dylib. Refer to your system manual for installing libraries
Mounting remote ruby failed with status 10, trying to compile.
Checking requirements for osx_brew.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/grantsayer/.rvm/rubies/ruby-2.3.3, this may take a while depending on your cpu(s)...
ruby-2.3.3 - #downloading ruby-2.3.3, this may take a while depending on your connection...
ruby-2.3.3 - #extracting ruby-2.3.3 to /Users/grantsayer/.rvm/src/ruby-2.3.3

Следующие шаги

В настоящее время я застрял - не смог пройти этот шаг или проверить, просмотрев другие сообщения, чтобы получить решение, которое работает.

Ответ 1

Ну, я нашел решение проблемы, описанной ранее. Следующие шаги описывают, как это было разрешено.

CleanUp

  • Удалена установка Homebrew через ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

  • Удалена установка RVM с помощью rvm implode

Перестроить

  • Установите Homebrew с помощью ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  • Сделайте проверку целостности Brew с помощью brew upgrade, а затем brew doctor

  • Установите RVM (снова!) с помощью \curl -sSL https://get.rvm.io | bash -s stable
  • Убедитесь, что RVM знает о homebrew через параметр autolibs, используя rvm autolibs homebrew
  • Установите переменные среды, чтобы мы знали, где установлен openssl:

    экспортировать LDFLAGS = -L/usr/local/opt/openssl/lib

    export CPPFLAGS = -I/usr/local/opt/openssl/include

    export PKG_CONFIG_PATH =/usr/local/opt/openssl/lib/pkgconfig

  • Установите ruby ​​через rvm install 2.3.3 --autolibs=homebrew

Убедитесь, что он работает

  • Убедитесь, что пространство rvm знает о сертификатах OpenSSL, используя rvm osx-ssl-certs status all. Выполнение этой команды создало следующий вывод: Certificates for /usr/local/etc/openssl/cert.pem: Up to date.

  • Установите рельсы через gem install rails

На последнем шаге установка прошла успешно, и Rails работал (наконец!)

Ответ 2

Если это не работает для другого читателя - попробуйте следующее:

rvm get branch /bugfix/3923_set_osx_brew_openssl_compiler_config
rvm install 2.4.0

Если это сработает для вас, перейдите к проблеме rvm и сообщите разработчику, насколько вы цените его усилия:)