12
votes

Using bundler, you can do something like this in the Gemfile:

gem 'my_gem', :git => 'git@github:me/my_gem.git'

That builds the gem in that repo and installs it. Works great. Is it possible to do something similar just using the command-line gem tool? Something like this?

gem install my_gem --git="git@github:me/my_gem.git"

Obviously that command doesn't work, but is there something like it that does? I know I can clone the repo, run a gem build my_gem.gemspec and then a gem install my_gem-1.2.3.gem. But I'm wondering if there is a direct one-liner that hides these intermediate steps behind the scenes.

1
github.com/rdp/specific_install seems to do just this.HappyFace

1 Answers

5
votes

Because unlike typical Git repositories, GitHub builds gems, if the project is hosted on GitHub and the gem is found in the source list then you can add GitHub to your sources list like this:

$ gem sources -a http://gems.github.com

and then later install gems as desired in a single step, like this:

$ sudo gem install username-projectname

Otherwise, there's no one-step solution, and you'll have to do something like this:

  1. download the gem zip/tar file
  2. gem build <gemname>.gemspec
  3. sudo gem install <gemname>-x.x.x.gem