we're going to have to manually update our Ruby installs just like we
had to last time **anyway**, because Ruby will probably change again
before OS X does. the "gem server" (not gem_server any more) example
illustrates exactly that problem, because it's already happened - the
new gems is in pre-release already.
I really don't follow this line of reasoning. Rubygems itself is just a Ruby library and that Ruby library can be replaced/overridden.
If you look at the load paths that Apple set in leopard:
irb
>> puts $:
/Library/Ruby/Site/1.8
/Library/Ruby/Site/1.8/powerpc-darwin9.0
/Library/Ruby/Site/1.8/universal-darwin9.0
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin9.0
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0
.
The site dir normally is parallel to the standard ruby lib dir something like:
/usr/local/lib/ruby/1.8
/usr/local/lib/ruby/site_ruby/1.8
But Laurent moved that on OS X into /Library/Ruby/Site. So, if you install a later rubygems in /Library/Ruby/Site/1.8 then it will override the rubygems that is installed in the OS (and the 'gem' command will use the one you upgraded first)
Gems are the same way. If you gem install/update a gem it will go in /Library/Ruby/Gems/1.8 and higher version gems will always be the ones loaded.
What Apple did was provide a foundation that THEY can build upon (in the OS) and we can update ourselves. I think that is an awesome balance. They also built a bunch of native gems in that are a PITA to build yourself by hand.
Of course if you need within your Mac to always run the latest SVN build of Ruby just download that source and build it and install it wherever you want.
Realize they could have totally screwed this up by reordering the above load paths, but Laurent is a smart guy 
Best,
Rich
···
On Oct 26, 2007, at 2:33 PM, Giles Bowkett wrote: