[Rubygems-developers] [call for participation] - gem dependencies maven-like project specs
Eric Hodel
drbrain at segment7.net
Thu Feb 8 13:57:35 EST 2007
On Feb 8, 2007, at 01:17, Jean-Michel Garnier wrote:
> I am working on an small open source project which would help to
> manage the dependencies of a ruby project (in short: check the
> versions and download missing gems)
>
> I have put a short spec on
> http://writer.zoho.com/public/garnierjm/ruby-dependency-management-
> specs
YAML is great, but Ruby is better.
The gem install command requires you to install all of a gem's
dependencies before you install the dependent gem.
If you want to check versions and installation of a Rails (or other)
project just add explicit gem statements in a file:
gem 'rails', '= 1.2.1'
gem 'mysql', '>= 2.7'
gem 'rmagick', '>= 1.14.1'
gem 'test-spec', '= 0.3'
If you want to check versions and install, just run the above code.
You'll get a Gem::LoadError if a gem doesn't exist:
irb(main):003:0> gem 'foo', '>= 1.0'
Gem::LoadError: Could not find RubyGem foo (>= 1.0)
So you can run the installer to install it through the API, then re-
run the file.
(It would be easy enough to attach a Gem::Requirement object to the
Gem::LoadError in the next version of RubyGems.)
> - should be followed by the operator = or >=
Isn't good enough. RubyGems allows gem requirements to include
anything that Comparable implements and the ~> operator to match
"1.3.*".
> - may ends with the DependencyScoping among enum(default, provided,
> development)
You can get this behavior by having multiple files with gem commands
instead.
More information about the Rubygems-developers
mailing list