问题
I have just installed Ruby Enterprise Edition and am installing some gems for it. Stock Ruby 1.8.6 is also installed on the server.
I have added /opt/ruby-enterprise-1.8.6-20090201/bin
to my PATH
a head of /usr/bin
where ruby
and gem
live.
which gem
confirms this:
/opt/ruby-enterprise-1.8.6-20090201/bin/gem
However, when I install gems like this:
gem install some_gem
They end up in /usr/lib/ruby/gems/1.8/gems/
instead of /opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/
.
But if I use /opt/ruby-enterprise-1.8.6-20090201/bin/gem install some_gem
it does go into REE's gem directory.
I don't get it. Is there some config option I have to change? I am using sudo here. Maybe that has something to do with it?
回答1:
There's a good explanation of what's going on here:
sudo changes PATH - why?
This assumes you're using Ubuntu. sudo does change the path under ubuntu.
The gem you have in /usr/bin/ is probably a symlink to /usr/bin/gem1.8. What I did was symlink ruby-enterprise's gem to /usr/bin/ree-gem like this:
sudo ln -s /opt/ruby-enterprise-1.8.6-20090201/bin/gem /usr/bin/ree-gem
then I just use:
sudo ree-gem install some_gem
to install gems specifically for ree. If you're not using the ruby 1.8.6 rubygem, you can symlink REE's gem to /usr/bin/gem instead:
sudo ln -s /opt/ruby-enterprise-1.8.6-20090201/bin/gem /usr/bin/gem
回答2:
A solution I used to a similar problem is to set up an alias to your REE gem command.
I.e.
alias reegem='/opt/ruby-enterprise-1.8.6-20090201/bin/gem'
回答3:
I posted the solution I used on Ubuntu here: http://groups.google.com/group/emm-ruby/browse_thread/thread/d0c685bbd096823a#msg_effa7d6ad42c541c
There were some additional steps to get it working beyond what was described in the Ruby Enterprise Edition documentation.
回答4:
Here's an explanation for why it's setup like this for REE: http://www.rubyenterpriseedition.com/documentation.html#_how_ree_installs_itself_into_the_system
回答5:
In addition to Jack Chu's helpful symlink above, might I suggest:
sudo ln -s /opt/ruby-enterprise/bin/rake /usr/bin/ree-rake
so you can sudo ree-rake gems:install
来源:https://stackoverflow.com/questions/588934/using-ruby-enterprise-edition-gems-are-not-installed-where-i-would-expect