При использовании Ruby Enterprise Edition драгоценные камни не устанавливаются там, где я ожидал

Я только что установил Ruby Enterprise Edition и устанавливаю для него несколько драгоценных камней. На сервере также установлен стандартный 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)

Решение

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

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

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

Драгоценный камень в / usr / bin /, вероятно, является символической ссылкой на /usr/bin/gem1.8. Я сделал символьную ссылку на драгоценный камень 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 установить some_gem

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

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

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

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

так что вы можете sudo ree-rake gems: install

Решение, которое я использовал для подобной проблемы, - установить псевдоним для вашей команды 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