【问题标题】:Phusion Passenger error with Rails 4 and ruby 2.5Rails 4 和 ruby​​ 2.5 的 Phusion 乘客错误
【发布时间】:2018-04-03 08:31:06
【问题描述】:
Ubuntu 16.04
Rails 4.2.10
Ruby 2.5.0
SERVER_SOFTWARE = Apache/2.4.18 (Ubuntu) Phusion_Passenger/5.2.2

我使用 rbenv 安装了 ruby​​,当我这样做时

ruby -v

我明白了

ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

我安装 Phusion Passenger 如下:

sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
sudo apt-get install -y libapache2-mod-passenger
sudo a2enmod passenger
sudo apache2ctl restart

当我这样做时:

sudo /usr/bin/passenger-config validate-install

我明白了:

 * Checking whether this Passenger install is in PATH... ✓
 * Checking whether there are no other Passenger installations... ✓
 Everything looks good. :-)

但是,当我尝试启动我的应用程序时,我收到一条错误消息:

Web application could not be started
Web application could not be started by the Phusion Passenger application server.

从 /var/log/apache2/error.log,我得到:

Error ID: d8f774a0
Error details saved to: /tmp/passenger-error-ShCphj.html
Message from application: cannot load such file -- bundler/setup (LoadError)
/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:456:in `activate_gem'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:323:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:461:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:322:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:156: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>'

=================================

答案:

答案是卸载独立的Phusion Passenger,并作为gem安装,如下:

sudo apt-get remove -y passenger libapache2-mod-passenger

然后安装gem

gem install passenger --no-rdoc --no-ri
passenger-install-apache2-module

按照安装说明进行

【问题讨论】:

    标签: ruby-on-rails passenger


    【解决方案1】:

    试试这个,

    gem install bundler 
    

    bundle install
    

    【讨论】:

    • 你说你使用的是 ruby​​ 2.5 但日志说它是 2.3
    • 所以,请创建 gemset 并执行上述步骤
    • 是的,这是问题的一部分,我可以看到。我不知道如何解决它。乘客一头雾水
    • 可以再次检查您使用正确的 ruby​​ 版本创建的 gemset 吗?还是不行?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 2014-04-22
    • 2014-05-21
    相关资源
    最近更新 更多