Haris Krajina
Haris Krajina

Reputation: 15286

Does Bundler Gem take in consideration your Ruby environment?

My question is simple one, does gem bundler considers your ruby environment (e.g. 1.8.7 | 1.9.2) before deciding which gem to take based on gem file?

Let's say your gemfile contains

gem 'thor'
gem 'json'
gem 'grit'

When you run bundle install will take versions of the gem that are compatible with your current ruby environment or just latest gems?

Upvotes: 4

Views: 299

Answers (1)

phoet
phoet

Reputation: 18835

It depends! Bundler relies on the configuration of the Gemspecs that each Gem provides.

Gemspecs offer the posibility to provide different or additional dependencies based on the runtime environment. IE you can change the dependencies for JRuby or provide different binaries for i386 architectures.

As far as i know, it's not possible to declare a gem as 1.9 or 1.8 compatible (which would have made sense to me). I think it's partly so, because 1.9 is 99% downward compatible.

You are always forced to have a look at the gems themselves. Because of this, there are sites like http://isitruby19.com/

As you might see, it's not an issue of Bundler, but RubyGems.

Upvotes: 2

Related Questions