2

我刚刚安装了 Ruby Enterprise Edition 并正在为它安装一些 gem。Stock 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。也许这与它有关?

4

5 回答 5

12

这里有一个很好的解释:

sudo 更改 PATH - 为什么?

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

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

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

然后我只使用:

须藤 ree-gem 安装 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

于 2009-02-26T04:46:47.277 回答
0

我用来解决类似问题的一个解决方案是为您的 REE gem 命令设置别名。

IE

alias reegem='/opt/ruby-enterprise-1.8.6-20090201/bin/gem'
于 2009-02-26T04:43:29.373 回答
0

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

除了 Ruby 企业版文档中描述的内容之外,还有一些额外的步骤可以让它工作。

于 2009-07-18T17:39:50.023 回答
0

以下是对 REE 为何如此设置的解释: http ://www.rubyenterpriseedition.com/documentation.html#_how_ree_installs_itself_into_the_system

于 2009-09-11T06:40:51.320 回答
0

除了上面 Jack Chu 的有用符号链接,我可以建议:

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

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

于 2010-11-17T19:25:36.767 回答