ray
unread,Dec 2, 2007, 2:45:02 PM12/2/07Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Ruby on Rails: Talk
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