Настройка 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/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 и сообщите разработчику, насколько вы цените его усилия:)