Я успешно установил Ruby 1.8.7 на Ubuntu 14.04, загрузив пакет, собрав локально и установив. Команда ruby -v
, выходы Ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-Linux]
как и ожидалось, это тот же результат на другом сервере под управлением Ubuntu 12.04, где мое приложение работает должным образом.
Выход which ruby
является /usr/local/bin/ruby
на Ubuntu 14.04 и /usr/bin/ruby
в Ubuntu 12.04. У меня создается впечатление, что установлен Ruby 1.8 (это то, что нужно моему приложению).
Однако, когда я пытаюсь установить гем rails: gem install rails
(вошел в систему как root; я также установил Ruby как root), я получаю следующую ошибку:
The program 'gem' can be found in the following packages:
* ruby
* rubygems
Try: apt-get install <selected package>
Во время пробежки apt-get install ruby
исправлю это, он установит ruby 1.9.x, которая мне не нужна. У меня уже установлена необходимая версия, как указано выше.
Бег apt-get install ruby1.8
который будет работать на Ubuntu 12.04, выдает ошибку 14.04, потому что ruby1.8 немного устарел и был удален из официальных репозиториев ubuntu 14.04, но мое приложение еще не перенесено на новые версии Ruby.
Возникает вопрос, как мне установить rubygems, а именно версию 1.3.7 вручную? Пожалуйста, не предлагайте добавлять репозитории Ubuntu 12.04 обратно в 14.04, это ужасное решение и может нарушить работу системы. Я также не хочу использовать RVM для этого. Я предпочитаю вручную настраивать систему для выполнения gem
команды под текущей установленной версией 1.8, расположенной по адресу /usr/local/bin/ruby
.
Любая помощь приветствуется.
Загрузите нужную вам версию с Rubygems.org. (1.3.7) Распакуйте файл и установите на свой Ruby $PREFIX
;
ruby setup.rb --prefix=/usr/local
(На самом деле это может быть значение по умолчанию $PREFIX
поэтому указание может быть излишним ..)
Для получения дополнительной информации см .: Скачать RubyGems. Прокрутите вниз до этого раздела;
Если у вас нет установленных RubyGems, все еще существует подход к получению программного обеспечения до гемов, выполняя это вручную: