'bundle install --path' cannot find local gems

1,387 views
Skip to first unread message

ben.t....@gmail.com

unread,
Apr 30, 2013, 9:57:06 PM4/30/13
to ruby-b...@googlegroups.com
Hello,

Curious as to why 'bundle install --path=vendor/bundle' cannot find local gems (gems installed in $GEM_HOME but are not on rubygems.org)? You get, "Could not find in-house-gem-0.4.0 in any of the sources". Bundler can find local gems no problem when you run 'bundle install'. And even if you tell it where they are in your Gemfile using :path, it can find it, but it will not install it into vendor/bundle.

Thanks,
Ben

p.s. Sorry if this is repeat question. I tried to post it a few minutes ago, but i'm not sure it was posted onto the group.

Rhett Sutphin

unread,
May 1, 2013, 10:35:48 PM5/1/13
to ruby-b...@googlegroups.com
Hi Ben,

On Apr 30, 2013, at 8:57 PM, ben.t....@gmail.com wrote:

> Hello,
>
> Curious as to why 'bundle install --path=vendor/bundle' cannot find local gems (gems installed in $GEM_HOME but are not on rubygems.org)? You get, "Could not find in-house-gem-0.4.0 in any of the sources". Bundler can find local gems no problem when you run 'bundle install'. And even if you tell it where they are in your Gemfile using :path, it can find it, but it will not install it into vendor/bundle.

It's because `bundle install` doesn't install the gems that are already in $GEM_HOME, either. It sees that they are already present in the place where it would install them and so does not attempt to install them. So it never tries to get them from the sources and so does not fail.

Here are three things you could try to get the effect you're looking for. I haven't tried any of them, but I expect at least one of them would work:

* Manually install the gems into the bundle path. E.g.:

GEM_HOME=/path/to/vendor/bundle gem install in-house-gem-0.4.0.gem

* Create a private gem source. Deploy your gems there. Add this source to your Gemfile.

It's pretty easy to create a private gem source using any sort of simple file-serving HTTP server plus `gem generate_index`.

* Put the packaged gem in vendor/cache. This may only work if you specify an exact (matching) gem version in your Gemfile.

HTH,
Rhett

>
> Thanks,
> Ben
>
> p.s. Sorry if this is repeat question. I tried to post it a few minutes ago, but i'm not sure it was posted onto the group.
>
> --
> You received this message because you are subscribed to the Google Groups "ruby-bundler" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to ruby-bundler...@googlegroups.com.
> To post to this group, send email to ruby-b...@googlegroups.com.
> Visit this group at http://groups.google.com/group/ruby-bundler?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

ben.t....@gmail.com

unread,
May 6, 2013, 1:28:25 PM5/6/13
to ruby-b...@googlegroups.com
* Create a private gem source. Deploy your gems there. Add this source to your Gemfile. 
    It's pretty easy to create a private gem source using any sort of simple file-serving HTTP server plus `gem generate_index`.

Thanks Rhett. I like this one. I'll try it.
Ben
Reply all
Reply to author
Forward
0 new messages