I just installed Ruby and RubyGems using MacPorts and a whole bunch of
gems.  I am trying to run a Rails project that works on Ubuntu, but
now I am trying to make it run on Leopard.  I got an error when I just
run script/console:

jamison:redesign rlaw$ script/console
Loading development environment.
/opt/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:477:in `const_missing':NameError:
uninitialized constant Gem::Version::NUM_RE

I find it awk Gem::Version::NUM_RE is not initialized.  I then traced
and found that I have two Ruby directories:

jamison:ruby rlaw$ ls -alF
total 0
drwxr-xr-x    6 root  admin   204 Dec  2 13:55 ./
drwxrwxr-x  167 root  admin  5678 Dec  1 07:14 ../
drwxr-xr-x  111 root  admin  3774 Dec  1 03:47 1.8/
drwxr-xr-x    3 root  admin   102 Dec  1 04:01 gems/
drwxr-xr-x    4 root  admin   136 Dec  1 03:47 site_ruby/
drwxr-xr-x    4 root  admin   136 Dec  1 03:47 vendor_ruby/

And my Ruby $LOAD_PATH is as follow:

>> puts $LOAD_PATH
/opt/local/lib/ruby/site_ruby/1.8
/opt/local/lib/ruby/site_ruby/1.8/i686-darwin9.1.0
/opt/local/lib/ruby/site_ruby
/opt/local/lib/ruby/vendor_ruby/1.8
/opt/local/lib/ruby/vendor_ruby/1.8/i686-darwin9.1.0
/opt/local/lib/ruby/vendor_ruby
/opt/local/lib/ruby/1.8
/opt/local/lib/ruby/1.8/i686-darwin9.1.0
.

Things in site_ruby and vendor_ruby are obviously different.
Specifically, /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/version.rb
has NUM_RE defined but /opt/local/lib/ruby/site_ruby/1.8/rubygems/
version.rb does not.  Since Ruby looks in site_ruby first, that's
exactly why it breaks.  So my solution is to swap site_ruby and
vendor_ruby, and it works.

However, why are there two directories, site_ruby and vendor_ruby?
How did it end up like this?  Is there any repercussion if I swap
them?

Ray