Установка RVM, Ruby 1.9.2, Ruby on Rails 3.0.1 на Ubuntu + решение проблемы с гемом mysql2

В этой статье я опишу идеологически правильную установку Rails 3.0.1 и сопутствующего добра на Ubuntu. Вообще я стараюсь ставить весь софт из пакетов, но в данном случае, для лучшего контроля версий сделаю исключение.

Сразу хочу ответить на вопрос, зачем я это делаю. В сети много материалов по установке Rails, про RVM тоже есть. Однако везде есть какие-либо неточности, и из простого руководства статья превращается в квест “собери сам”. Хочется надеяться, что эта статья такой не станет. Итак поехали!

Установка RVM на Ubuntu

RVM (Ruby Version Manager) – программа для управления версиями руби, и его гемов (расширений), одним из которых является Rails.

1. Ставим RVM через CURL

2. Открываем файл /home/имя_вашего_юзера/.bashrc и в начале файла
меняем строку:

на

Затем в конце файла добавляем эти строки:

3. Проверяем установку RVM:

Установка RVM для всех пользователей

Этот вариант подходит для серверов. Для примера будем ставить RVM для всех пользователей (и в частности для юзера andrey).

1. Заходим под root. Ставим RVM через CURL

2. Для каждого юзера, который будет работать с rvm (в т.ч. и root) делаем следующее

2. Открываем файл /home/имя_вашего_юзера/.bashrc и в начале файла
меняем строку:

на

Затем в конце файла добавляем эти строки:

3. Выходим из терминала. Запускаем заново. Проверяем установку RVM:

Тут есть такой нюанс. Если вы сделаете такую последовательность команд.

то вы проверите установку rvm для юзера andrey, а не root, как могло бы показаться. Для точнйо проверки делайте так:

Установка Ruby 1.9.2 через RVM

Тут история такова, что в некоторых мануалах рекомендуют ставить из head (rvm install 1.9.2-head), однако у меня установить его таким образом не получилось. Были ошибки типа этой:

А в логах – ошибки компиляции:

Так что ставим без head.

ВАЖНОЕ ЗАМЕЧАНИЕ! Если вы будете ставить гемы от пользователя root, то они будут доступны всем остальным пользователям (начиная со следующего их входа в систему).

1. Устанавливаем ruby и делаем симлинки

2. Проверяем

Установка Rails 3.0.7

Последняя на данный момент версия Rails – 3.0.7 (хотя и есть 3.1, но она пока в бете). Ставится Rails очень просто:

Смотрим версию:

Если резюмировать, то установка через RVM на порядок проще, чем через пакеты. Ну и собственно пакеты в репозитарии отстают по версиям.

Решение проблемы с геомом mysql2

После вышеприведённой установки, при наличии MySQL 5.5/Percona 5.5 в системе Rails-приложение с геомо mysql2 запускаться не будет. При запуске (rails server) возвращает примерно такие ошибки:

Проблема решается принудительной установкой версии 0.2.6 гема mysql2.

Далее в Gemfile прописываем вместо

следующее

Затем, как обычно:

Начиная с версии 0.2.7 работать перестает, а < 0.2.7 всё ок.

Удаление RVM

При первой установке я поставил RVM для своего юзера(andrey) и потом уже не смог поставить его для root. Чтобы переустановить RVM, мне пришлось сначала его удалить. Делается это так:

Не забудьте проверить файлы .bashrc, .profile и .bash_profile files.

А также удалить /etc/rvmrc file, or one в домашнем каталоге ~/.rvmrc.
Подробности тут.

Литература

http://www.christopherirish.com/2010/08/25/how-to-install-rvm-on-ubuntu-10-04/

http://fominov.ru/2010/09/ustanovka-ruby-1-9-2-i-rails-3-s-pomoshhyu-rvm-na-ubuntu-10-04/