Мар
28
2010

Начало работы с ruby on rails

Определимся с понятиями. Ruby – это объектно-ориентированный язык программирования. А ruby on rails – это мощный фреймворк (framework) для создания веб-приложений на ruby. Поэтому нам сперва потребуется установить сам ruby, а затем уже ruby on rails.

Установка ruby

Для установки ruby воспользуемся RVM. RVM (Ruby Version Manager) – это менеджер версий ruby, который позволяет иметь несколько разных версий ruby на компьютере и легко между ними переключаться. Можно конечно установить всё и из стандартных репозиториев вашей системы (sudo apt-get install ruby gem rake rails). Но тогда у вас не будет возможности при необходимости для разных проектов использовать разные версии ruby и оперативно обновлять ruby. Возможность возникновения такой необходимости обусловлена тем, что ruby активно развивается и может так получится, что через год для ваш старый проект не захочет сходу работать на последней версии ruby. Вобщем лучше один раз установить ruby через rvm и потом в случае чего будет меньше головной боли. Хуже не будет в любом случае. Вобщем заходим на страницу с инструкциями по установке rvm и устанавливаем rvm. Я использовал рекомендуемый способ, через github. Кстати для того, что бы вытянуть rvm из github необходимо чтобы у вас был установлен пакет git-core. Ну и одно из требований к rvm – это наличие curl. Так что перед началом установки rvm установите как минимум эти два пакета:

sudo apt-get install git-core curl

Ну и после этого можем запускать установку. Строчка скачивания и установки rvm в моём случае выглядела вот так (но вы лучше скопируйте её из инструкции на сайте rvm, а то вдруг что поменялось с момента написания этой статьи):

mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/ && git clone --depth 1 git://github.com/wayneeseguin/rvm.git && cd rvm && ./install

RVM устанавливается в вашу домашюю директорию в системе. Т.е. другим пользователям системы ваша установка rvm доступна не будет. После запуска вышеупомянутой команды для установки ruby вам будет выведено сообщение о том, что надо сделать чтобы завершить установку. Ну собственно там надо будет в .bashrc или .bash_profile (или в .zshrc если используете zsh, а не bash) добавить одну строчку, которая при заугрзке консоли включает скрипт rvm. А так же проверьте на отсутствие return в вашем .bashrc Вероятно у вас там будет что-то типа такого:

[ -z "$PS1" ] && return

Эту строчку стоит удалить (можно закомментировать).
Затем устанавливаем требуемую версию ruby. Поставить можно и кучу всякий версий, но для начала вполне хватит одной. И это будет ree (ruby enterprise edition).

rvm install ree

Теперь нам надо установить эту версию руби по умолчанию. Чтобы при запуске из консоли у вас запускался именно этот ruby, а не системный или какой-то другой.

rvm --default ree

И написав теперь в консоли ruby -v Вы увидите текущую используемую вами версию ruby. Должно быть что-то типа такого:

ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2010.01

upd (29.03.2010): на работе вот тоже сегодня ставил. Получилось вот так:

mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/ && git clone --depth 1 git://github.com/wayneeseguin/rvm.git && cd rvm && ./install
sudo apt-get install libreadline5-dev # просто сразу руби не захотел ставиться, т.к. у меня не было установлено этого пакета на работе (git-core и curl  у меня уже были)
rvm install ree
rvm --default ree

Hello world на ruby

Теперь можно написать hello world на ruby. Это очень просто. Создаём файл hello.rb с содержимым:

puts ‘Hello World’

И запускаем его командой

ruby hello.rb

Видим результат. Можно теперь переписать hello.rb вот так:

puts ‘What is your name?’
name = gets puts ‘Hello ‘ + name

Всё просто! =) После этого лично я прочитал все заметки вот отсюда и попутно всё это пробовал ну и плюс сам еще потыкался и поэкспериментировал. Этого хватило для того, чтобы узнать азы синтаксиса ruby. Всё довольно просто и логично. вобщем мне понравилось. Кстати можно в консоли запутит irb. Это интерактивная ruby консоль. Удобно для мелких каких-то  тестов.

Установка ruby on rails

Ну что ж. После того как мы установили ruby через rvm у нас в консоли появилась команда gem (теоретически gem можно поставить и через apt-get как и ruby, но мы ведь выбрали rvm. Поэтому я бы вобще рекомендовал удалить все связанные с ruby пакеты установленные через стандартный менеджер пакетов во избежание путаницы). GEM – это менеджер пакетов для самого ruby. Т.е. чтобы не было путаницы: rvm – это менеджер версий ruby, т.е. он позволяет устанавливать и управлять несколькими версиями ruby на одньй машине, а gem – это уже непосредственно менеджер, который позволяет управлять пакетами для самого ruby. В частности чтобы работать с ruby on rails необходимо установить пакет rails.

gem install rails

Автоматически будет установлена последняя версия rails, т.к. это будут rails 3. Если по каким-то причинам вы хотите установить rails 2, то это будет выглядеть примерно так:

gem install rails -v 2.3.10

На момент 21 января последняя в ветке rails 2 версия 2.3.10. Узнать текущую последнюю можно при помощи:

gem list -ra rails

  • -r означает remote, т.е. нас интересуют не локально установленные гемы, а все. Чтобы искать по установленным гемам можно использовать вместо -r флаг -l (local)
  • -a – all, т.е. показать все версии, а не только последнюю
  • ну и в конце rails – это строка, по которой фильтровать названия гемов.

Всё, теперь можно создавать приложение ruby on rails. Для этого заходим в директорию, где хотим создать новое приложение. и запускаем команду

rails hello -d mysql

Таким образом мы создали новое приложение на ruby on rails. Параметром -d mysql я указываю, что будет использоваться БД MySQL. Если не указать, то будет использоваться sqlite по-умолчанию. Можно в принципе сразу увидеть, что у нас есть на данный момент. Для этого заходим в папку с проектом, т.е. в данном примере в папку hello и запускаем скрипт сервера.
Если rails 3:

rails server

Если rails 2:

./scripts/server

Будет запущен сервер и ваш проект будет доступен на вашем компьютере по адресу http://localhost:3000 Откройте эту страницу и вы увидите приветствие и краткие инструкции о том, что можно сделать дальше. Чтобы остановить этот сервер просто прервите его выполнение в консоли нажав ctrl+c. Это самый простой способ запуска приложений на ruby on rails. В будущем уже на сервере можно запускать ruby через apache используя модуль Phusion Passenger. А для начала разработки точно хватит и такого способа.

7 Comments to "Начало работы с ruby on rails"

  1. yas wrote:

    обновил инструкцию по установке ruby

  2. Женя wrote:

    столкнулся с трудностью – на хостинге есть несколько версий rails — и мне нужно создать проект под младшей из них; но не могу найти как написать параметр :(

  3. yas wrote:

    пробуй вот так:
    rails _2.2.0_ projectname

  4. jedi wrote:

    Чем API Drupal не хуже Ror? или вы с Ror на друпал перешли? :) улыбаюсь

  5. yas wrote:

    я с drupal на ror конечно перешёл, а не наоборот))

    и RoR для более серьёзных проектов куда лучше drupal. Сейчас на php я вобще наверное врядли, что захочу писать )

  6. Sanova wrote:

    комментарии на bestblog.name видимо считаются излишними?

  7. yas wrote:

    чего-чего? ) поясни)

Leave Your Comment