--Apple-Mail-18-445454026
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

On Oct 26, 2007, at 2:33 PM, Giles Bowkett wrote:

> 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



--Apple-Mail-18-445454026--