I’ve installed my gems in production with:
cd /app/releases/current && bundle install --gemfile /app/releases/current/Gemfile --path /app/shared/bundle --deployment --quiet --without development test
I can’t bundle exec any of my gems (except rake and gem):
$ bundle exec whenever
bundler: command not found: whenever
Install missing gem executables with `bundle install`
The gems are correctly installed in /app/shared/bundle:
$ cd /app/shared
$ find . -name whenever
./bundle/ruby/1.9.1/gems/whenever-0.6.8/bin/whenever
./bundle/ruby/1.9.1/gems/whenever-0.6.8/lib/whenever
My (generated) bundle config (in /app/current/.bundle/config) is:
---
BUNDLE_FROZEN: "1"
BUNDLE_PATH: /app/shared/bundle
BUNDLE_DISABLE_SHARED_GEMS: "1"
BUNDLE_WITHOUT: development:test
I’m running ruby 1.9.2p290, manually installed to /usr/local/bin.
Do I have to bundle install my gems with the --binstubs option? Why wouldn’t bundle exec be searching the stored BUNDLE_PATH?
I changed the
--pathfrom/app/shared/bundletovendor/bundle, which made it work.This seemed wrong to me, so I removed
/app/shared/bundleandvendor/bundle, and ranbundle installagain to/app/shared/bundle.This clean
bundle installfixed the problem. I have no idea why!If anyone has an explanation for this, I’d love to mark you as the accepted answer. But this fixed the problem for me.