使用bundler和phusion乘客部署rails3应用程序:.bundle目录未找到

我正在尝试使用最新的phusion passenger 2.2.11和ruby-enterprise-1.8.7-2010.01部署rails3应用程序。 我正在使用捆绑器,但乘客似乎无法找到.bundle目录。

错误信息:

git://github.com/rails/rails.git (at master) is not checked out. Please run `bundle install` (Bundler::PathError) 

我在哪里安装.bundle? 我在哪里告诉乘客使用哪个捆绑包? 任何提示?

谢谢!

我认为你要搜索的命令是

 bundle pack 

这会将您的gem从.bundle目录移动到供应商/缓存。

请参阅yehuda katz在其网站上发布有关捆绑工作流程的信息:http://yehudakatz.com/2010/02/09/using-bundler-in-real-life/

有关bundler目录的更多信息:您可以在application.rb文件中添加以下行,这将更改phusion乘客的bundler目录:

 ENV['BUNDLER_HOME']="/home/or-wherever-you-want-to-point-it" 

你不应该“打包”你的gem。

我花了一个星期的时间尝试一切。 完成所有故障排除步骤后,最终解决了以下问题:

https://github.com/carlhuda/bundler/blob/master/ISSUES.md

祝好运!

一直在打这个。 我发现做了一个

 bundle --deployment 

诀窍。 请看这里的post: Rails 3:Passenger无法找到bundler安装的git gem

然而,对我来说似乎有点hacky。 想知道这是Passenger还是bundler的问题? 它是特定版本的,等等……

这个gem bundler站点说,对于部署,您可以使用:

 bundle install --deployment 

尝试

 bundle install vendor/bundler 

究竟对我有什么帮助:1。CentOS 6.x 64bit 2. Bitnami堆栈捆绑狂欢1.3.1

 cd SPREE_APP_ROOT_AKA_RAILS_ROOT /opt/spree-1.3.1-0/ruby/bin/bundle install 

结果gem出现在根。 但这并不好。 它应该转到供应商/缓存和其他底层文件夹。

我跑:

 /opt/spree-1.3.1-0/ruby/bin/bundle package --all 

选项–all用于打包“git”gem。

重启乘客继续:)