Используя Ruby Enterprise Edition, гемы не устанавливаются там, где я ожидал - PullRequest
2 голосов
/ 26 февраля 2009

Я только что установил Ruby Enterprise Edition и устанавливаю для него несколько гемов. На сервере также установлен Stock Ruby 1.8.6.

Я добавил /opt/ruby-enterprise-1.8.6-20090201/bin к моей PATH голове /usr/bin, где живут ruby и gem.

which gem подтверждает это:

/opt/ruby-enterprise-1.8.6-20090201/bin/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.

Я не понимаю. Есть ли какая-либо опция конфигурации, которую я должен изменить? Я использую здесь sudo. Может быть, это как-то связано?

Ответы [ 5 ]

12 голосов
/ 26 февраля 2009

Вот хорошее объяснение того, что здесь происходит:

sudo меняет PATH - почему?

Предполагается, что вы используете Ubuntu. sudo меняет путь в Ubuntu.

Самоцвет, находящийся в / usr / bin /, вероятно, является символической ссылкой на /usr/bin/gem1.8. То, что я сделал, было символом symlink ruby-enterprise в / 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

для установки гемов специально для ри. Если вы не используете ruby ​​1.8.6 rubygem, вы можете использовать символическую ссылку REE вместо / usr / bin / gem:

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

0 голосов
/ 17 ноября 2010

В дополнение к полезной символической ссылке Джека Чу, приведенной выше, могу ли я предложить:

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

так что вы можете использовать sudo ree-rake gems: install

0 голосов
/ 11 сентября 2009

Вот объяснение, почему он настроен так для REE: http://www.rubyenterpriseedition.com/documentation.html#_how_ree_installs_itself_into_the_system

0 голосов
/ 18 июля 2009

Я разместил решение, которое использовал в Ubuntu, здесь: http://groups.google.com/group/emm-ruby/browse_thread/thread/d0c685bbd096823a#msg_effa7d6ad42c541c

Были некоторые дополнительные шаги, чтобы заставить его работать помимо того, что было описано в документации Ruby Enterprise Edition.

0 голосов
/ 26 февраля 2009

Решение, которое я использовал для аналогичной проблемы, заключается в установке псевдонима для вашей команды REE gem.

* 1003 Т.е. *

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