Пассажир не может загрузить управляемые версии rbenv - PullRequest
0 голосов
/ 06 января 2019

Сервер имеет двух пользователей. deploy имеет привилегии sudo, guest - нет. Гость имеет приложение, которое переносит версии ruby ​​(с 2.3.4 до 2.4.5).

Изначально, после гостевой установки, версия 2.4.5 не может запуститься, поскольку пассажир не находит эту версию ruby. deploy пришлось его установить. Однако на следующем этапе запуска сервера не удается загрузить приложение, в то же время подтверждая, что он ищет версию ruby ​​в каталогах deploy пользователя

Error: The application encountered the following error: cannot load such file -- bundler/setup (LoadError)
/home/deploy/.rbenv/versions/2.4.5/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/home/deploy/.rbenv/versions/2.4.5/lib/ruby/2.4.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-loader.rb:86:in `load_app'
/usr/share/passenger/helper-scripts/rack-loader.rb:116: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-loader.rb:115:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-loader.rb:28:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-loader.rb:27:in `<main>'

passenger-config --ruby-command, кажется, ищет правильный каталог,

passenger-config was invoked through the following Ruby interpreter:
  Command: /home/guest/.rbenv/versions/2.4.5/bin/ruby
  Version: ruby 2.4.5p335 (2018-10-18 revision 65137) [x86_64-linux]

Тем не менее,

rbenv exec gem environment gemdir

возвращает

/home/guest/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0

Как это можно исправить?

1 Ответ

0 голосов
/ 09 января 2019

Проблема здесь связана с различными пользователями и вызванными версиями ruby.

passenger-config --ruby-command

возвращает интересный отрывок, в этом случае:

 To use in Nginx : passenger_ruby /home/guest/.rbenv/versions/2.4.5/bin/ruby

, хотя файл nginx/sites-enabled/relevant_application не нужно вызывать для одного пользователя, эта команда становится необходимой для нескольких пользователей. Затем перезапустите nginx!

...