I use bundler to manage dependencies in my rails app, and I have a gem hosted in a git repository included as followed:
gem \'gem-name\', :git => \'path/t
Here you can find a good explanation on the difference between
Update both gem and dependencies:
bundle update gem-name
or
Update exclusively the gem:
bundle update --source gem-name
along with some nice examples of possible side-effects.
As @Tim's answer says, as of Bundler 1.14 the officially-supported way to this is with bundle update --conservative gem-name
.
bundler update --source gem-name
will update the revision hash in Gemfile.lock which you can compare with the last commit hash of that git branch (master by default).
GIT
remote: git@github.com:organization/repo-name.git
revision: c810f4a29547b60ca8106b7a6b9a9532c392c954
can be found at github.com/organization/repo-name/commits/c810f4a2
(I used shorthand 8 character commit hash for the url)
If you want to update a single gem to a specific version:
bundle update
> ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
> gem -v
3.0.3
> bundle -v
Bundler version 2.1.4
bundle update gem-name [--major|--patch|--minor]
This also works for dependencies.
You simply need to specify the gem name on the command line:
bundle update gem-name
It appears that with newer versions of bundler (>= 1.14) it's:
bundle update --conservative gem-name