On Mar 31, 2010, at 21:57 , Richard Conroy wrote:

> On Thu, Apr 1, 2010 at 4:44 AM, Ryan Davis <ryand-ruby / zenspider.com> =
wrote:
>>=20
>> YOU don't know what gems YOUR code is using? Why not?
>>=20
>=20
> Is this meant to be easy to know? Sure I know when I explicitly use =
dust, or
> sinatra or
> Haml or whatever, but I can never be certain of the network of =
dependencies
> that those other
> gems use.

Ah. well... rubygems handles the transitive closure of the dependencies. =
You should only specify the top level (real) dependencies for your =
project.

>> One thing that might help is to try out the isolate gem. You specify =
what
>> gems your project needs and they're privately installed and only =
those
>> private gems get used. I use it on all my rails projects (and gem =
projects)
>> at work.

> To be clear, I see this issue when checking out code across multiple =
systems
> which have
> different gems and gem versions installed. More specifically this is a
> thorny problem with
> non-explicit gem use, like when I choose to use a gem which in turn =
has
> other dependencies
> and incompatibility between different versions of the gems.

This is exactly the type of thing that isolate solves. It is perfectly =
reasonable to have isolate installed as the only global gem and each =
project uses isolate to declare their gem dependencies and they're all =
installed private to each project.