Как стать автором
Обновить

Установка RubyGems на хостинге

Время на прочтение2 мин
Количество просмотров1.9K
Сегодня решил протестировать один из своих рельсовых проектов на хостинге. Дома-то работает всё круто, а вот в продакшн-режиме не захотело. Во-первых, оказалось, что рельсы на хостинге установлены не те, во-вторых, RubyGems старый. Ладно, хоть Ruby сам работал, и на том спасибо ((-:
Первым делом я решил обновить RubyGems, чтобы в дальнейшем избежать лишних вопросов от менеджера gem'ов. Делается это так:
  1. Первым делом, нужно придумать путь к своему личному репозиторию гемов. Пригодится, обещаю. По-умолчанию, в последних версиях предлагается путь вида /home/username/.gem/. Таким образом, нужно в консоли ввести:
    export GEM_HOME=~/.gem

  2. Затем нужно скачать последнюю версию RubyGems и, собственно, установить её. Устанавливать нужно в какое-нибудь укромное местечко внутри домашней директории. Я выбрал для этих целей ~/ruby/gem. Последнюю версию RubyGems можно скачать с официального сайта. Сейчас последняя стабильная версия — 1.0.1
    Выполняем команды:
    mkdir ~/temp 
    mkdir ~/ruby/gem 
    cd ~/temp 
    wget http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz 
    tar -zxf rubygems-1.0.1.tgz 
    cd rubygems-1.0.1 
    ruby setup.rb all --prefix=~/ruby/gem

    При удачно сложившихся обстоятельствах — установка прошла успешно. Чтобы проверить, введите в консоли gem. Если всё успешно — выведется помощь по этой команде. Возможно, однако, появление ошибки о ненайденном файле. В таком случае, необходимо экспортировать ещё одну переменную окружения — RUBYLIB следующей командой:
    export RUBYLIB=~/ruby/gem/lib

    Теперь заставим систему вызывать по слову gem только что установленный экземпляр:
    export PATH=~/ruby/gem/bin:$PATH

  3. Во время установки RubyGems был создан новый gem-репозиторий по адресу ~/.gem. Подскажем системе, что гемы теперь нужно таскать оттуда:
    export GEM_PATH=~/.gem

    Вы видите уже вторую переменную окружения, начинающуюся а GEM_. И обе они указывают на одну и ту же директорию, давайте разберёмся, зачем:
    • GEM_HOME указывает на директорию, в которую будет происходить установка новых гемов. При желании, можно при кадой установке добавлять параметр --install-dir, но лично мне лень, поэтому я предпочёл один раз установить переменную окружения.
    • GEM_PATH в свою очередь, указывает на директорию, в которой будет происходить поиск установленных гемов.

Теги:
Хабы:
Всего голосов 22: ↑20 и ↓2+18
Комментарии19

Публикации

Истории

Работа

Ruby on Rails
10 вакансий
Программист Ruby
6 вакансий

Ближайшие события