I forked the spree repo on github and I would like to specify in the Gemfile of my rails app a gem that is located in the core
subdirectory of the main repository.
The folder structure of the repository is the following:
|~spree [git root]
| |-spree.gemspec [spree gem located here]
|~core
| |-spree_core.gemspec [spree_core gem located here]
In other words, I would like to do something along these lines:
gem 'spree-core', :git => 'git://github.com/spree/spree.git'
The problem is that I'm getting the following error message when I try bundle install
:
Could not find gem 'spree-core (>= 0)' in git://github.com/spree/spree.git (at master). Source does not contain any versions of 'spree-core (>= 0)'
What you can do is create a repo that only contains the core
subdirectory and associated spree_core.gemspec
file. This will lead to a slimmer installation as well. You can also grab the contents of the directory to bundle with your app and distribute it like this:
gem 'spree-core', :path => 'vendor/gems/spree/core'
The ability of bundler
to install from a git repository appears to be somewhat limited according to the documentation where it is expecting spree_core/spree_core.gemspec
and not core/spree_core.gemspec
instead.
This oversight on the part of the gem creator is common since most do not expect people to be installing anything other than the officially published gem. At least it's nice that the .gemspec
file is available as some projects don't even include that much to the dismay of many.