From: Aredridel Date: 2005-03-04T07:34:33+09:00 Subject: Re: Unifying RPA and RubyGems On Fri, 4 Mar 2005 07:03:40 +0900, Ben Giddings wrote: > Jim Weirich wrote: > > If you wish to lock down particular version of a library, then you are > > free to use the require_gem command and supply an explicit version > > constraint. I know that some folks using rails have done this to support > > multiple versions of rails on a single server. This is handy because > > different web apps were written against different versions of rails over > > time. > > IMHO that's a shortcoming of Ruby's "require" statement to begin with. > It would be handy to be able to "require" a particular version of a > library, if you know that more recent ones don't work for you. Maybe in > Ruby 2.0 Matz can spruce up "require" a bit. > The problem with that is that you can't require foo 1.0 and foo 2.0 and have them not conflict unless the author has taken the care to make them not use the same names. That's why RPA's muliple versions will work as they will: You use a version of the RPA distro, and within that, you only get one version of a module, unless the author (or an RPA backporter) cleans up the namespace. You can have multiple versions of RPA installed, with different versions available, but mixing and matching would be both difficult to do without trying hard, and uncharted. Especially with ruby's open classes, loading both versions of a library at once could be very, very interesting (in a bad way) Ari