【发布时间】:2019-01-06 17:38:09
【问题描述】:
一个服务器有两个用户。 deploy 有 sudo 权限,guest 没有。
guest 有一个正在迁移 ruby 版本(从 2.3.4 到 2.4.5)的应用程序。
最初,guest 安装 2.4.5 版后,乘客无法启动,因为它没有找到此版本的 ruby。 deploy 必须安装它。但是,启动服务器的下一阶段无法加载应用程序,同时确认它正在寻找deploy用户目录中的ruby版本
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
如何解决这个问题?
【问题讨论】:
标签: ruby-on-rails bundler rbenv