2017-01-30 2 views
11

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

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

фона и окружающей среды

  • Mac OS X 10.12.3. (Sierra)
  • Homebrew 1.1.8. с OpenSSL установлен
  • RVM 1.28.0
  • рубин 2.3.3 Rails (попытка установить последний) переменные
  • среды (следующие OpenSSL crate fails compilation on Mac OS X 10.11) следующие переменные были установки в среде Shell
  • LDFLAGS = - L/usr/local/opt/[email protected]/lib
  • CPPFLAGS = -I/usr/local/opt/[email protected]/include
  • PKG_CONFIG_PATH = /usr/local/opt/[email protected]/lib/ pkgconfig

открытие & Диагностика неисправностей

Начиная с чистым ноутбуком я следовал обычному пути установки Homebrew, Xcode инструментов командной строки, MySQL (для рельсов Dev), Git и затем 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 я убедился, что РВМ сознавал Homebrew:

rvm autolibs enable 
ram autolibs homebrew 

выход из установки рубина-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

Можете ли вы показать команды, которые вы используете/использовали для установки ruby-2.3.3 и рельсов? Просто догадка, но я бы не рекомендовал устанавливать рельсы через rvm. Более надежно установить ruby ​​через rvm, а затем установить рельсы через 'gem install rails -no-ri -no-rdoc' – Glyoko

+0

Попробовать проверить статус сертификатов rvm использует:' rvm osx-ssl-certs status all '. Это выдаст статус для каждого сертификата.Если это не «До даты», вы можете обновить их с помощью «rvm osx-ssl-certs update all». – Joseph

+0

Согласитесь использовать драгоценный камень для установки рельсов - это то, что я обычно делаю - вероятно, неясно в описании. –

ответ

14

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

CleanUp

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

  2. Удалены установку РВМ с помощью rvm implode

Rebuild

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

  2. ли проверку целостности Brew с помощью brew upgrade с последующим brew doctor

  3. Установка RVM (опять же!) С помощью \curl -sSL https://get.rvm.io | bash -s stable
  4. Убедитесь, что РВМ знает о доморощенного с помощью опции autolibs используя rvm autolibs homebrew
  5. Установите переменные окружения так, чтобы мы вл где установлен OpenSSL:

    экспорт LDFLAGS = -L/USR/местные/Opt/OpenSSL/Библиотека

    экспорт CPPFLAGS = -I/USR/местные/Opt/OpenSSL/включить

    экспорт PKG_CONFIG_PATH =/USR/местные/Opt/OpenSSL/Библиотека/pkg-config

  6. Установите рубин через rvm install 2.3.3 --autolibs=homebrew

Убедитесь, что Wor кс

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

  2. Установка рельсов через gem install rails

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

+1

Большое вам спасибо, это на самом деле только решение, которое сработало для меня ... и попробовало несколько из них со всех сторон. – remo

+0

Рад, что это помогло. Еще один элемент - я обнаружил, что мне не нужно экспортировать переменные среды. Я предполагаю, что сброс всего и повторная установка получили все отсортированы. –

+0

Да, не нужно было экспортировать env vars. –

0

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

rvm get branch /bugfix/3923_set_osx_brew_openssl_compiler_config 
rvm install 2.4.0 

Если это работает у ou, go to the rvm issue и сообщите разработчику, насколько вы цените его усилие :)

Смежные вопросы