Excluding Dev and Test Gems from Heroku
Update: Check out our newer blog article that shows a better method of excluding dev and test gems from heroku.
Heroku is awesome. Bundler is awesome. Combining the two… not always awesome. Are you getting this when pushing to Heroku?
You have modified your Gemfile in development but did not check the resulting snapshot (Gemfile.lock) into version control ... Heroku push rejected, failed to install gems via Bundler
Try this workflow:
Ensure Gemfile.lock is in .gitignore</li>
- Ensure your :development and :test groups in Gemfile are surrounded by: if RbConfig::CONFIG[‘host_os’] =~ /darwin/ && false
- Run `bundle`
- Run `git add Gemfile.lock`
- Remove the “&& false” from the Gemfile
- Run `git add Gemfile`
That’s it! You should be good to go. Repeat steps 2-6 every time you need to modify the Gemfile outside the RbConfig::CONFIG[‘host_os’] block.
A forthcoming blog post will explain how and why this works.