У меня есть приложение Rails 4.0.2, которое я обновляю до Rails 4.2. Я точно следовал за migration guide. На каждом шаге я запускал задачу переноса рейка, и я также запускал пакетное/пакетное обновление для обновления моих зависимостей. В рамках процесса мне также пришлось обновить с Ruby 2.0.0 до 2.3.0.Rails не может загрузить такой файл - openssl (LoadError)
Когда я пытаюсь запустить свой сервер рельсы я получаю следующий результат:
/Users/ACIDSTEALTH/.gem/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/key_generator.rb:2:in `require': cannot load such file -- openssl (LoadError)
from /Users/ACIDSTEALTH/.gem/ruby/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/key_generator.rb:2:in `<top (required)>'
from /Users/ACIDSTEALTH/.gem/ruby/2.3.0/gems/railties-4.2.5.1/lib/rails/application.rb:5:in `require'
from /Users/ACIDSTEALTH/.gem/ruby/2.3.0/gems/railties-4.2.5.1/lib/rails/application.rb:5:in `<top (required)>'
from /Users/ACIDSTEALTH/.gem/ruby/2.3.0/gems/railties-4.2.5.1/lib/rails.rb:11:in `require'
from /Users/ACIDSTEALTH/.gem/ruby/2.3.0/gems/railties-4.2.5.1/lib/rails.rb:11:in `<top (required)>'
from /Users/ACIDSTEALTH/.gem/ruby/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/server.rb:4:in `require'
from /Users/ACIDSTEALTH/.gem/ruby/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/server.rb:4:in `<top (required)>'
from /Users/ACIDSTEALTH/Dropbox/Work/firmplay/config/boot.rb:5:in `require'
from /Users/ACIDSTEALTH/Dropbox/Work/firmplay/config/boot.rb:5:in `<top (required)>'
from bin/rails:3:in `require_relative'
from bin/rails:3:in `<main>'
Я попытался следующие, все без успеха:
- Я побежал
brew install openssl
. Установлен openssl. Нет кубиков. - Ran
brew update
иbrew doctor
. Это привело меня к целому циклу удаления и переустановки варева. Получил пиво, установленное вместе с openssl. Еще не повезло. Такая же ошибка. - Снова переустановил приложение для Ruby 2.0, но это вызвало некоторые проблемы с зависимостями в Gemfile, поэтому это не вариант.
Пробовал
gem install openssl
, который потерпел неудачу с:ОШИБКА: При выполнении гем ... (Gem :: Exception) Невозможно требовать OpenSSL, установить OpenSSL и восстановить рубин (предпочтительно) или использовать не-HTTPS источников
Я целый день стучал головой по клавиатуре. Какие ограниченные ресурсы, которые я нашел по этой проблеме, специально разработаны для пользователей, которые используют rvm
. Я попытался установить rvm, но это привело к еще одному множеству проблем, заставив меня в конечном итоге удалить rvm и все его следы из моей системы.
Моя установка: OS 10.11.3 Xcode (последняя версия) iTerm2/ш ZSH Homebrew (последняя) Chruby и рубиновые установки для управления рубины Перенастройки из Rails 4.0.2 на Руби 2.0.0 Rails 4.2.5 на Ruby 2.3.0.
Update
Я сделал некоторые успехи в решении этого, хотя я должен признать, я чувствую себя совершенно невежественны о том, что источником проблемы должно было начаться с. Я провел ruby-install ruby-2.3.0 — --with-openssl-dir=/usr/local
, чтобы перекомпилировать Ruby. Перезагрузили мою оболочку, и на этот раз мне удалось переустановить openssl, но мне пришлось сделать sudo gem install openssl
. Отсюда я наконец смог запустить мой сервер rails. Я все еще очень смущен тем, что здесь произошло.
Как насчет обновления Ruby во-первых, тестирование все хорошо, а затем обновление Rails? –
Не уверен, что вы подразумеваете под этим. Я обновил до 2.3.0, и я могу подтвердить, что он работает, открыв irb .... – ACIDSTEALTH
Возможно, попробуйте перекомпилировать Ruby. Возможно, вы скомпилировали его до того, как вы установили openssl. –