使用Ruby Enterprise Edition,gem没有安装在我期望的地方

我刚刚安装了Ruby Enterprise Edition,并为它安装了一些gem。 库存Ruby 1.8.6也安装在服务器上。

我已将/opt/ruby-enterprise-1.8.6-20090201/bin添加到我的PATH这是/usr/bin的头部,其中rubygem存在。

which gem证实了这一点:

/opt/ruby-enterprise-1.8.6-20090201/bin/gem

但是,当我安装这样的gem时:

gem install some_gem

它们最终在/usr/lib/ruby/gems/1.8/gems/而不是/opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/

但是如果我使用/opt/ruby-enterprise-1.8.6-20090201/bin/gem install some_gem它会进入REE的gem目录。

我不明白。 是否有一些配置选项我必须改变? 我这里使用sudo。 也许这与它有关?

对这里发生的事情有一个很好的解释:

sudo改变路径 – 为什么?

这假设您正在使用Ubuntu。 sudo确实改变了ubuntu下的路径。

你在/ usr / bin /中的gem可能是/usr/bin/gem1.8的符号链接。 我做的是symlink ruby​​-enterprise的gem到/ usr / bin / ree-gem,如下所示:

sudo ln -s /opt/ruby-enterprise-1.8.6-20090201/bin/gem / usr / bin / ree-gem

那我就用:

sudo ree-gem install some_gem

专门为ree安装gem。 如果你没有使用ruby 1.8.6 ruby​​gem,你可以将REE的gem符号链接到/ usr / bin / gem:

sudo ln -s /opt/ruby-enterprise-1.8.6-20090201/bin/gem / usr / bin / gem

我习惯于类似问题的解决方案是为您的REE gem命令设置别名。

 alias reegem='/opt/ruby-enterprise-1.8.6-20090201/bin/gem' 

我在这里发布了我在Ubuntu上使用的解决方案: http : //groups.google.com/group/emm-ruby/browse_thread/thread/d0c685bbd096823a#msg_effa7d6ad42c541c

除了Ruby Enterprise Edition文档中描述的内容外,还有一些额外的步骤可以使其工作。

以下是REE为什么设置这样的解释: http : //www.rubyenterpriseedition.com/documentation.html#_how_ree_installs_itself_into_the_system

除了上面杰克朱的有用符号链接,我可以建议:

sudo ln -s / opt / ruby​​-enterprise / bin / rake / usr / bin / ree-rake

所以你可以sudo ree-rake gems:install