Search code examples
rubyrubygemsbundler

How do I specify local .gem files in my Gemfile?


I have a couple of gem files which I install via gem install xx.gem. Can I tell Bundler to use them? Or do I have to specify the source path?


Solution

  • This isn't strictly an answer to your question about installing .gem packages, but you can specify all kinds of locations on a gem-by-gem basis by editing your Gemfile.

    Specifying a :path attribute will install the gem from that path on your local machine.

    gem "foreman", path: "/Users/pje/my_foreman_fork"
    

    Alternately, specifying a :git attribute will install the gem from a remote git repository.

    gem "foreman", git: "git://github.com/pje/foreman.git"
    
    # ...or at a specific SHA-1 ref
    gem "foreman", git: "git://github.com/pje/foreman.git", ref: "bf648a070c"
    
    # ...or branch
    gem "foreman", git: "git://github.com/pje/foreman.git", branch: "jruby"
    
    # ...or tag
    gem "foreman", git: "git://github.com/pje/foreman.git", tag: "v0.45.0"
    

    (As @JHurrah mentioned in his comment.)