deploying rails3 apps with bundler and phusion passenger: .bundle dir not found
i am tryin开发者_运维问答g to deploy rails3 apps with the latest phusion passenger 2.2.11 and ruby-enterprise-1.8.7-2010.01. i am using bundler, but passenger seems to not be able to find the .bundle dir.
error message:
git://github.com/rails/rails.git (at master) is not checked out. Please run `bundle install` (Bundler::PathError)
where do i install the .bundle? where do i tell passenger which bundle to use? any hints?
thanks!
i think the command you are searching for is
bundle pack
which will move your gems from the .bundle directory to the vendor/cache.
see yehuda katz' posting about bundler workflows on his site: http://yehudakatz.com/2010/02/09/using-bundler-in-real-life/
more information on the bundler directory: you can add in you application.rb file the following line, which will change the bundler dir for phusion passenger:
ENV['BUNDLER_HOME']="/home/or-wherever-you-want-to-point-it"
You shouldn't need to "pack" your gems.
I've spent a week trying everything. Following ALL of the troubleshooting steps here finally resolved it:
https://github.com/carlhuda/bundler/blob/master/ISSUES.md
Good luck!
Been fighting this one also. I've found that doing a
bundle --deployment
does the trick. See the post here: Rails 3: Passenger can't find git gems installed by bundler
Seems a bit hacky to me however. Would like to know if this is an issue with Passenger or bundler? Is it version specific, etc...
This gem bundler site said that for deployment you may use:
bundle install --deployment
try
bundle install vendor/bundler
What did helped me exactly on: 1. CentOS 6.x 64bit 2. Bitnami stack bundle with spree 1.3.1
cd SPREE_APP_ROOT_AKA_RAILS_ROOT
/opt/spree-1.3.1-0/ruby/bin/bundle install
As a result gem appeared in the root. But it's not good. It should go to vendor/cache and other underlying folders.
The I run:
/opt/spree-1.3.1-0/ruby/bin/bundle package --all
Option --all is for packaging "git" gems.
Restart passenger and go on:)
精彩评论