由于我无法控制的原因,我需要在CentOS 7上运行Rails 4应用程序。目前,它已在使用rvm和Passenger的Red Hat上成功运行。我想将它迁移到rbenv和Puma,但我遇到了这个问题。
我正在尝试在VirtualBox虚拟机上运行测试安装。我相信我已将所有内容正确连接在一起。我已经禁用了SELinux。当我运行cap deploy
时,puma成功启动:
04:03 puma:start
using conf file /var/www/rails-app/shared/puma.rb
01 bundle exec puma -C /var/www/rails-app/shared/puma.rb --daemon
01 * Pruning Bundler environment
01 [6464] Puma starting in cluster mode...
01 [6464] * Version 3.9.1 (ruby 2.1.10-p492), codename: Private Caller
01 [6464] * Min threads: 4, max threads: 16
01 [6464] * Environment: vm
01 [6464] * Process workers: 1
01 [6464] * Phased restart available
01 [6464] * Listening on unix:///var/www/rails-app/shared/tmp/sockets/puma.sock
01 [6464] * Daemonizing...
✔ 01 deploy@localhost 0.537s
但是Puma访问日志在无限循环中旋转了这个错误:
/home/deploy/.rbenv/versions/2.1.10/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler/setup (LoadError)
... stack trace clipped ...
列出与我的Puma用户关联的流程显示:
$ ps aux | grep deploy
deploy 12645 0.0 0.2 115384 2084 pts/0 S 18:18 0:00 -bash
deploy 18517 0.7 1.7 271344 18076 ? Sl 18:27 0:00 puma 3.9.1 (unix:///var/www/rails-app/shared/tmp/sockets/puma.sock)
deploy 23279 7.0 0.0 0 0 ? Z 18:29 0:00 [ruby] <defunct>
deploy 23283 4.0 1.7 273400 17464 ? Rl 18:29 0:00 puma: cluster worker 0: 18517
我已经确认我可以成功运行Bundler作为拥有Rails应用程序和Puma进程的deploy
用户:
cd /var/www/rails-app/current && bundler --version
Bundler version 1.15.4
所以我不确定为什么我会看到这个错误。经过数小时的研究和故障排除,我陷入困境。如果需要,我可以提供配置文件,但它们非常标准,我认为此时只会弄乱这个问题。
这个问题对任何人来说都很熟悉吗?
答案 0 :(得分:1)
解决此类问题的步骤很少:
gem install bundler