Определимся с понятиями. 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. А для начала разработки точно хватит и такого способа.
обновил инструкцию по установке ruby
Link | Июль 15th, 2010 at 09:49
столкнулся с трудностью – на хостинге есть несколько версий rails — и мне нужно создать проект под младшей из них; но не могу найти как написать параметр :(
Link | Июль 16th, 2010 at 23:53
пробуй вот так:
rails _2.2.0_ projectname
Link | Июль 17th, 2010 at 07:43
Чем API Drupal не хуже Ror? или вы с Ror на друпал перешли? :) улыбаюсь
Link | Январь 12th, 2011 at 17:12
я с drupal на ror конечно перешёл, а не наоборот))
и RoR для более серьёзных проектов куда лучше drupal. Сейчас на php я вобще наверное врядли, что захочу писать )
Link | Январь 13th, 2011 at 14:07