Reputation: 1689
I have a Gemfile with a private git repo in the following format:
gem 'magic_beans', :git => "[email protected]:magic_beans.git', :branch => 'super_beans'
When I bundle install
, the Gemfile.lock locks it to a specific SHA revision.
Can I get bundler to always check and use the latest SHA commit and/or update the Gemfile.lock? Notice that when I push updates to the super_beans
branch I am not modifying the gem version.
Ideally, every time I run bundle
it would check upstream git repo for a newer SHA revision of the branch.
Upvotes: 14
Views: 11694
Reputation: 1754
After searching through the documents I finally found the magic way to do this:
bundle update magic_beans --source magic_beans
That is to update the magic_beans
gem only, but not to touch other locked gems. The doc about this is: http://bundler.io/man/bundle-update.1.html
Upvotes: 1
Reputation: 5619
You can run bundle update
to update all or specific gems to their latest available version, as stated in the docs.
Would that help?
Upvotes: 1
Reputation: 16834
This isn't how bundler works. The point is to allow seamless versioning of dependencies. (particularly so you know exactly what version of the code is deployed at any given time).
If want the latest version, you should just run.
bundle update magic_beans
This is exactly the same functionality as if you just say
gem "rails"
I'd suggest though, if you have a range of specific things you want to update
then add a custom binary (say an executable file named bundle_update
)
#!/usr/bin/env bash
bundle install
bundle update magic_beans
Then just do a ./bundle_update
when you want to update these things.
Upvotes: 24