Bundler 和 Passenger 在 Rails 项目上不同步

Bundler and Passenger are out of sync on Rails project

升级到 El Capitan 后我终于得到了我的 apache 服务器 运行ning 破坏了我的配置文件。我必须安装最新版本的 Phusion Passenger 才能获得它 运行ning。当我打开我的一个网站时,它抱怨缺少 gem。我采用了核心方法和 运行 捆绑器更新,安装了 gem 数量。 Bundler check 很开心,但 Passenger 不开心。然后我安装了指定版本号的特定 gem。我必须这样做大约 20 gem 秒。该站点终于出现并运行。

然后我切换到另一个站点并遇到了同样的问题。我不想再加载 20 gems。 Bundler 对这个项目也很满意。似乎捆绑器正在查看我的 ruby 2.0.0 gem 集,而乘客正在查看我的 2.2.0 集。当我 运行 rbenv local 我得到 2.2.0。 Passenger 抱怨 minitest-4.7.5 不见了而且它确实不在 2.2.0 gem 集合中:

/Users/curt/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems

它位于:

/Users/curt/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems

如何让捆绑器在正确的位置查找?

我可以通过添加

来解决问题
PassengerUser myid

到 httpd.conf 文件。我之前把它放在那里,但是当我粘贴新的乘客信息时把它注释掉了。如果您在乘客错误页面中看到一条消息,表明您的应用正在 运行 作为“_unknown”用户,那么您需要如上所述添加您的 ID。

修复的第一次尝试成功了,因为当我添加一个缺失的 gem 时,它使用与 passenger 或 apache 相同的 ID 运行ning。