Установка Ruby 1.9.2-p290 и Rails 3.1 на CentOS 5.5

27 Окт
2011

Ниже я опишу процесс установки ruby 1.9.2-p290 и rails версии 3.1.1 на сервер с системой CentOS 5.5 x86_64 final. Если у вас уже установлены ruby и rails данных версий, но при запуске встроенного сервера выдается сообщение об ошибке, можете начать чтение с пункта 7.
Установка производилась на «чистый» сервер с только что установленной системой CentOS 5.5 x86_64 final.

1. Удалим предыдущие версии

Итак, начнём с необходимых пакетов, которые нам понадобятся при установке (кстати, устанавливать ruby и rails будем из исходников).
Лично я установку проводил из-под root’а, поэтому не использовал sudo. Если вы не root, то советую перед каждой командой добавлять sudo.
Для того, чтобы убедиться, что в системе не присутствуют никакие другие версии ruby, можно сделать следующее:
# rpm -qa | grep ruby
Если в ответ получите список уже установленных пакетов, советую их удалить, т.к. в дальнейшем разные версии ruby могут привести к путанице. Удаление выполнить через rpm -e <пакет>.
Установка необходимых зависимостей:
# yum install openssl-devel zlib-devel gcc gcc-c++ make autoconf readline-devel curl-devel expat-devel gettext-devel patch

2. Тянем последнюю версию с сайта

На момент написания статьи последняя стабильная и рекомендованная версия ruby 1.9.2-p290. Версия ruby 1.9.3 пока сырая.
Создаем директорию для исходников и переходим в нее:
# mkdir /usr/src/ror
# cd /usr/src/ror

Тянем архив исходников, распаковываем и устанавливаем:
# wget ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
# tar -zxvf ruby-1.9.2-p290.tar.gz
# cd ruby-1.9.2-p290
# ./configure
# make
# make install

Если не возникло проблем с зависимостями, то переходим к пункту 3, иначе доустанавливаем недостающие пакеты.
Проверку установленного ruby можно сделать так:
# ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
Если получили ошибку, скорее всего нужно прописать в PATH переменную путь к ruby. По умолчанию этот путь: /usr/local/bin. Можно добавляем путь так:
# PATH=/usr/local/bin:$PATH
# export PATH

3. Обновим версию gem

# gem update --system
Проверим:
# gem -v
1.8.11

4. Установим последнюю версию rake

# gem install rake

5. Ставим рельсы

# gem install rails
Проверяем:
# rails -v
Rails 3.1.1

6. Устанавливаем необходимые gem’ы (по необходимости)

Можно установить такие gem’ы как mysql, mysql2, heroku и т.д. Для корректной установки gem’ов mysql убедитесь, что у вас установлен пакет mysql-devel, ну и конечно же сам mysql-server. Если нет, то выполним:
# yum install mysql-server mysql-devel

7. Создадим новое приложение

# cd /var/www/
# rails new new_app -d mysql

Попробуем запустить, используя встроенный сервер:
# rails server
Возможно, в ответ получите ошибку:
Could not find a JavaScript runtime <ссылка на execjs> (ExecJS::RuntimeUnavailable)
Отсутствие javascript движка — одни из граблей в Rails версии 3.1, решается установкой пары gem’ов: необходимо прописать в Gemfile приложения следующие гемы:
gem 'execjs'
gem 'therubyracer'

и выполнить:
#bundle install
После этого приложение должно без проблем запуститься на порту 3000.

8

Тем, кто в дальнейшем собирается заливать свое приложение на сервер heroku следует также в Gemfile прописать: group :production do
gem 'therubyracer-heroku', '0.8.1.pre3'
end

т.к. обычный gem 'therubyracer' при разворачивании приложения на heroku выдает ошибку.
Соответственно, в том же Gemfile, во избежание установки на heroky (production) надо заключить гемы в группу для разработки (development):
group :development do
gem 'execjs'
gem 'therubyracer'
end

Надеюсь, что описанное выше руководство сможет сократить время при установке Ruby и Rails 3.1.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх