You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache/Passenger部署Rails应用报错:无法加载bundler/setup (LoadError)

解决Ruby版本不匹配导致的bundler/setup LoadError问题

从你的错误调用栈一眼就能看出核心问题:Ruby版本不匹配——你用rbenv管理的是Ruby 2.4.2,但Passenger却在调用系统自带的Ruby 2.3.0(路径/var/lib/gems/2.3.0),这直接导致bundler的加载路径完全错位,自然找不到bundler/setup文件。

下面是一步步的实操解决方法:

1. 让Passenger指向rbenv的Ruby版本

首先得给Passenger明确指定正确的Ruby路径:

  • 先在终端确认rbenv的Ruby路径,运行:
    which ruby
    
    正常应该输出 /home/ubuntu/.rbenv/shims/ruby
  • 找到你的Apache配置文件(可能是/etc/apache2/apache2.conf,或者应用对应的虚拟主机配置,比如/etc/apache2/sites-available/your-app.conf),添加或修改以下配置:
    PassengerRuby /home/ubuntu/.rbenv/shims/ruby
    # 确保Apache加载rbenv的环境变量
    SetEnv PATH /home/ubuntu/.rbenv/shims:/home/ubuntu/.rbenv/bin:$PATH
    
  • 重启Apache生效:
    sudo systemctl restart apache2
    

2. 重新安装应用依赖

进入你的应用根目录,用正确的Ruby版本重新安装bundler和所有依赖:

cd /home/ubuntu/sephcordovano
gem install bundler
bundle install

3. 验证Passenger的Ruby版本

运行以下命令确认Passenger现在用的是正确的Ruby版本:

passenger-config about ruby-command

输出里的Command应该指向/home/ubuntu/.rbenv/shims/ruby,版本显示2.4.2就说明配置对了。

4. 修复权限问题

确保Apache的运行用户(通常是www-data)能访问你的rbenv目录和应用目录:

sudo chown -R ubuntu:www-data /home/ubuntu/sephcordovano
sudo chmod -R 755 /home/ubuntu/.rbenv

错误信息与调用栈参考

无法加载文件 -- bundler/setup (LoadError),Web应用无法启动,错误ID:e36eb8ab。

详细调用栈:

/home/ubuntu/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/home/ubuntu/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/var/lib/gems/2.3.0/gems/passenger-5.1.12/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:456:in `activate_gem'
/var/lib/gems/2.3.0/gems/passenger-5.1.12/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:323:in `block in run_load_path_setup_code'
/var/lib/gems/2.3.0/gems/passenger-5.1.12/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:461:in `running_bundler'
/var/lib/gems/2.3.0/gems/passenger-5.1.12/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb:322:in `run_load_path_setup_code'
/var/lib/gems/2.3.0/gems/passenger-5.1.12/src/helper-scripts/rack-preloader.rb:100:in `preload_app'
/var/lib/gems/2.3.0/gems/passenger-5.1.12/src/helper-scripts/rack-preloader.rb:156:in `<module:App>'
/var/lib/gems/2.3.0/gems/passenger-5.1.12/src/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/var/lib/gems/2.3.0/gems/passenger-5.1.12/src/helper-scripts/rack-preloader.rb:29:in `<main>'

系统信息:

  • 应用根目录:/home/ubuntu/sephcordovano
  • 环境:development
  • Ruby版本:2.4.2

内容的提问来源于stack exchange,提问作者Seph Cordovano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:52:23