From: Intransition Date: 2010-05-18T00:40:57+09:00 Subject: Re: Is Bundler Overkill? On May 15, 3:09 pm, Jeremy Kemper wrote: > You needn't redistribute every dependency with each app. You do have > the option to conveniently package them all if you're deploying to, > say, a shared host. Is that a common need? I doubt I'd use a host that make it necessary for me to handle it that way. > RubyGems resolves gem dependencies at runtime. If an incompatible > version is already activated, it raises an exception. This is a > perfectly cromulent way to handle version conflicts for most people, > most of the time. > > Bundler globally resolves the graph of gem dependencies at boot time > instead of runtime. This handles the case where you use two libraries > which depend on a common third library, but with overlapping version > requirements. Resolving serially, at runtime, results in a version > conflict, but resolving globally picks a version of the common third > library that works for both. Ah, that's interesting. I did not realize Bundler improves the situation a bit by choosing a happy medium, if one exists. Now that i know this, I would say it is the one truly significant feature that Bundler provides. I would like to see RubyGems itself incorporate this capability. > 'This is the real heart of the matter, and it stems from the > fundamental lack of version support in Ruby itself.' > > I don't understand your conclusion. Ultimately it boils down to the fact that we cannot use two versions of the same library in a single process. Ruby could support this, and thus remove the need for much of this additional work.