Ruby on rails 为什么拥有Puma进程的用户可以加载Bundler时Puma无法加载Bundler?

Ruby on rails 为什么拥有Puma进程的用户可以加载Bundler时Puma无法加载Bundler?,ruby-on-rails,centos,rbenv,puma,Ruby On Rails,Centos,Rbenv,Puma,出于我无法控制的原因,我需要在CentOS 7上运行Rails 4应用程序。目前,它正与rvm和乘客一起在红帽上成功运行。我想把它迁移到rbenv和Puma,但我被这个问题困住了 我正在尝试在VirtualBox虚拟机上运行测试安装。我相信我把所有的东西都连接好了。我禁用了SELinux。运行cap deploy时,puma成功启动: 04:03 puma:start using conf file /var/www/rails-app/shared/puma.rb 01

出于我无法控制的原因,我需要在CentOS 7上运行Rails 4应用程序。目前,它正与rvm和乘客一起在红帽上成功运行。我想把它迁移到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
所以我不知道为什么我会看到这个错误。经过数小时的研究和故障排除,我陷入了困境。如果需要的话,我可以提供配置文件,但它们是相当标准的,我想在这一点上只会把这个问题弄得一团糟


是否有人熟悉此问题?

解决此类问题的几个步骤:

确保捆绑机已正确安装。在您的情况下看起来是的,但从运行gem安装捆绑程序开始仍然是一件好事 确保所有路径都已正确配置。下面是一个与您的情况类似的示例,其中安装了bundler,但路径不正确,并且bundler版本混合: 如果您正在使用RVM,您可能需要查看:
如果您使用RVM,您的问题似乎与此类似谢谢您的建议,Stephane。它并没有解决我的问题,但提供了两个新的线程。这也让我想到了这可能是相关的。我在我的问题中添加了ps aux输出。事实证明,这是我问题的解决方案。一旦我将/var和/var/www的所有者更改为部署用户,Puma就能够成功运行@stephane paquet,如果你想把它添加到你答案的顶部,我会选择你的答案作为正确答案,然后添加我自己的答案和细节。再次感谢你的帮助。
cd /var/www/rails-app/current && bundler --version
Bundler version 1.15.4