Как решить Вашу версию Ruby 2.3.1, но в вашем Gemfile указан 2.5.1? - PullRequest
0 голосов
/ 29 мая 2018

Здравствуйте! Я использую Phusion Passenger и NGINX для запуска приложения RoR.но получил эту ошибку Сервер приложений Phusion Passenger попытался запустить веб-приложение.Но само приложение (а не Пассажир) обнаружило внутреннюю ошибку.

Сведения об ошибке:

Your Ruby version is 2.3.1, but your Gemfile specified 2.5.1 (Bundler::RubyVersionMismatch)
  /var/lib/gems/2.3.0/gems/bundler-1.16.2/lib/bundler/definition.rb:491:in `validate_ruby!'
  /var/lib/gems/2.3.0/gems/bundler-1.16.2/lib/bundler/definition.rb:466:in `validate_runtime!'
  /var/lib/gems/2.3.0/gems/bundler-1.16.2/lib/bundler.rb:101:in `setup'
  /var/lib/gems/2.3.0/gems/bundler-1.16.2/lib/bundler/setup.rb:20:in `<top (required)>'
  /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:363:in `activate_gem'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:221:in `block in run_load_path_setup_code'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:527:in `running_bundler'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:220:in `run_load_path_setup_code'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:91:in `preload_app'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:380:in `run_block_and_record_step_progress'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
The stdout/stderr output of the subprocess so far is:

Error: The application encountered the following error: Your Ruby version is 2.3.1, but your Gemfile specified 2.5.1 (Bundler::RubyVersionMismatch)
    /var/lib/gems/2.3.0/gems/bundler-1.16.2/lib/bundler/definition.rb:491:in `validate_ruby!'
    /var/lib/gems/2.3.0/gems/bundler-1.16.2/lib/bundler/definition.rb:466:in `validate_runtime!'
    /var/lib/gems/2.3.0/gems/bundler-1.16.2/lib/bundler.rb:101:in `setup'
    /var/lib/gems/2.3.0/gems/bundler-1.16.2/lib/bundler/setup.rb:20:in `<top (required)>'
    /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:363:in `activate_gem'
    /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:221:in `block in run_load_path_setup_code'
    /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:527:in `running_bundler'
    /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:220:in `run_load_path_setup_code'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:91:in `preload_app'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:189:in `block in <module:App>'
    /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:380:in `run_block_and_record_step_progress'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:188:in `<module:App>'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
    /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'

Затем я проверяю установленную версию ruby.ruby -v

ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
rbenv 1.1.1-30-gc8ba27f
Rails 5.2.0

Но в каталоге / var / lib / gems нет никакой папки gem 2.5.1.существует только папка 2.3.0.

и даже ruby ​​версии 2.5.1 нет в каталоге / usr / lib / ruby ​​/.присутствует только 2.3.0.

РЕДАКТИРОВАТЬ: Я также пытался изменить версию ruby ​​в моем Gemfile, но получил ошибку.

Your Ruby version is 2.5.1, but your Gemfile specified 2.3.1

Но когда я запускаю свое приложение с rails s,загрузки приложения.

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Измените версию в Gemfile обратно на 2.5.1 и запустите bundle install.Это должно обновить ваш Gemfile.lock, и при необходимости переустановит или обновит зависимости.

После этого попробуйте начать с пассажирского

Папка с именем 2.3.0 - красная сельдь, яверить.Я заметил, что имя папки не синхронизируется с версией ruby, поэтому я проигнорировал бы это.

0 голосов
/ 29 мая 2018

попробуйте использовать RVM (https://rvm.io/) и установите правильную версию ruby ​​и установите значение по умолчанию.

...