2009-09-29 2 views
1

В основном мне нужно установить rubygems 1.3.5 на машине (Debian) с установленной версией 1.2.0 и не иметь доступа root.Несколько версий Rubygems

Что я сделал до сих пор: установил rubygems в $ HOME/rubygems и настроил GEM_HOME + добавленный bin на путь. Таким образом, запуск «какой драгоценный камень» показывает мне новый двоичный код, а не старый. Также, когда я устанавливаю что-то, он правильно устанавливается в новый репозиторий.

Однако, gem -v дает 1.2.0. И gem env дает следующее:

RubyGems Environment: 
    - RUBYGEMS VERSION: 1.2.0 
    - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] 
    - INSTALLATION DIRECTORY: /home/neutrino/rubygems/gems 
    - RUBY EXECUTABLE: /usr/bin/ruby1.8 
    - EXECUTABLE DIRECTORY: /home/neutrino/rubygems/gems/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-linux 
    - GEM PATHS: 
    - /home/neutrino/rubygems/gems 
    - /var/lib/gems/1.8 
    - GEM CONFIGURATION: 
     - :update_sources => true 
     - :verbose => true 
     - :benchmark => false 
     - :backtrace => false 
     - :bulk_threshold => 1000 
     - "gemhome" => "/home/neutrino/rubygems/gems" 
    - REMOTE SOURCES: 
     - http://gems.rubyforge.org/ 

Любые подсказки будут оценены. Я просто не вижу, что я делаю неправильно.

ответ

0

Вам нужно положить $ HOME/rubygems/bin в среду PATH перед/usr/bin /. Если это не выполнимо, я бы переименовать $ HOME/RubyGems/bin/жемчужину в $ HOME/Rubygems/bin/my_gem и сделать my_gem -v и продолжать использовать его таким образом (my_gem)

+0

уже сделали это./usr/bin в конце, и найден правильный исполняемый файл. Как я вижу, проблема заключается в самих рубигемах, а не в настройках пути. –

+0

Неужели и повторно открыть терминал после изменения пути? Пробовал переименование? – khelll

+0

yep, вновь открылся. Переименование тоже не помогает, и я не знаю, как это может дать какой-либо результат. Дело в том, что я запускаю исполняемый файл из установленного 1.3.5, и он говорит, что это 1.2.0. –

1

Я ожидаю, что эта проблема будет связанный с командой gem, которая ищет версию RubyGems версии 1.2.0 из системных путей lib перед вашей локальной версией.

Вы можете попробовать установить переменную среды RUBYLIB в каталог, содержащий файл rubygems.rb. Содержимое RUSYLIB (каталоги с разделителями с двоеточием) до запуска загружается до пути загрузки Ruby при запуске.

1

Похоже, вам нужно взглянуть на rvm, особенно его способность иметь несколько наборов драгоценных камней.

http://rvm.io/

http://rvm.io/gemsets/