Vagrant среда для Ruby разработки под Windows

  • написал: MpaK
  • 0
Так как часто в последнее время натыкаюсь на всяческие вопросы о том как начать вообще с Ruby. При этом большинство людей задающихся этим вопросом сидят под Windows. Проблем нет, хочешь попробовать Ruby для этого есть RubyInstaller — bit.ly/18GY96A скачал, поставил, зашел в командную консоль Windows через Пуск — Выполнить — cmd или в Far Manager нажал Ctrl+O и напечатал irb — вот тебе и интерактивная консоль.
Но в массе своей конечно же люди под словами «начать с Ruby» понимают, а «как сделать сайт на Ruby on Rails». Что само по себе уже задача поболее в масштабах… была… пока не появилась кучка вкусных инструментов для виртуализации.

Тут вот попробую вам за 10 минут поставить виртуальный сервер на базе Ubuntu, где уже будут стоять RVM, Ruby, MySQL, MongoDB, Node.js, SQLite, GIT. Со всем этим можно будет работать из консоли, а Rails проекты разрабатывать прямо в Windows через свой любимый текстовый редактор или IDE (RubyMine, Sublime Text2). Есть конечно же вариант еще собранной коробки github.com/rails/rails-dev-box вариант тоже отличный, можете его и сами рассмотреть, И так по шагам…

1. Первым делом нам надо поставить Vagrant vagrantup.com/. Vagrant это замечательный инструмент, который управляет установкой и настройкой виртуальных машин, мне нравится на базе бесплатного VirtualBox.
И так берем и качаем последнюю версию, сейчас это v1.2.2 files.vagrantup.com/packages/7e400d00a3c5a0fdf2809c8b5001a035415a607b/Vagrant_1.2.2.msi качаем его, ставим везде галочки и говорим Да, да, yes.
Vagrant install window

2. Теперь нам надо скачать и поставить эмулятор виртуал машинок VirtualBox download.virtualbox.org/virtualbox/4.2.12/VirtualBox-4.2.12-84980-Win.exe
Я взял актуальную на данный момент версию.
VirtualBox installed

3. Тут можно было бы уже запускать Vagrant и получать свою виртуалочку по мануалу, но тогда бы пришлось ставить все в ручную (ruby, mysql и т.п.) все же лень настраивать, потому ставим еще Ruby rubyinstaller.org/downloads/
Все равно иногда даже в Windows держать интерпретатор удобнее, что-то проверить, что-то покрутить. И так берем версию 1.9.3 rubyforge.org/frs/download.php/76952/rubyinstaller-1.9.3-p429.exe
Ставим. В нужном месте проставляем все галочки как на картинке.
Ruby 1.9.3 installed

4. Пригодится нам еще и GIT — msysgit.github.io/ если же он конечно у вас уже не стоит и не доступен в консоли. И тут берем версию msysgit.googlecode.com/files/Git-1.8.1.2-preview20130201.exe ставим по умолчанию все, кроме одного выбора, тоже на картинке.
GIT check it out

5. И вот все установлено. Можно пускать в ход настройки. Хоть и в Windows самая уродливая консоль, но пользоваться ею прийдется.

5.1 И так запускаем консоль через Пуст — Выполнить — cmd или же в FAR manager ctrl+O или же ConEmu запускаем что есть и набираем:
gem install librarian-chef
это ставит нашего шефа рецептов

5.2 Создаем папку где будет наш Vagrant подниматься и лежать файлы связанные с нашей виртуалкой.
Создаем папку c:\vagrant (mkdir c:\vagrant или в FAR нажать F7)

5.3 Заходим на rove.io — проект Rove.io где можно создать нужные рецепты для конфигурации, я выбрал например MySQL, Node.js, MongoDB, SQLite, Ruby, RVM, GIT, там поглядите еще куча всего от MongoDB до Apache или NGINX, последние нам в общем-то не нужны, в Rails есть замечательные веб-серверы, которых нам хватит за глаза для разработки с лихвой. Скачиваем архив и распаковываем файлы в папочку c:\vagrant
Отредактируем файл Vagrantfile добавим строки где-нить в начале:
Vagrant.configure("2") do |config|
  config.vm.network :forwarded_port, guest: 3000, host: 8000
end

это позволит перебрасывать доступ из локальной машины с порта 8000 на 3000 порт нашей виртуалки (Rails обычно на 3000 запускается).

5.4 Теперь опять же в консоли набираем шеф-повара, чтобы он приготовил нам нужные вещи для виртуалки:
librarian-chef install

5.5 И заключительный штрих:
vagrant up
который создаст контейнер в VirtualBox, скачает сам образ Ubuntu, поставит его, поставит туда же кучу всего, что мы указали в рецептах с Rove.io после чего радостно плюнет нам радостным сообщением о запуске.

Готово. Теперь у вас запущена виртуалка на базе Ubuntu и внутри которой есть все, чтобы начать изучать Ruby on Rails.

Остановить виртуалку можно набрав опять в консоли vagrant halt обратно запустить vagrant up

А теперь попробуем зайти и создать первый проект:

1. Если проект уже запущен в консоли набираем vagrant ssh
2. Теперь мы попали в шел нашего линукса в виртуалке, создадим gemset (набор для хранения Руби библиотек под проект, подробнее об RVM почитать надо тут rvm.io/)
rvm use 1.9.3@myblog --create — создадим и используем для нашего проекта ruby версии 1.9.3 и набор с именем myblog
gem install rails ставим в набор последнюю, стабильную версию rails
rails new myblog -T — создадим наш проект пропустив тесты
зайдем в него и запустим rails s теперь можно уже в нашем Windows открыть браузер и набрать localhost:8000 после чего увидим нашу заставку Rails приложения. А открыв проводник и перейдя в папку c:\vagrant\myblog найдем там Rails приложение, вот именно его уже можно редактировать, создавать новые и удалять старые :)

Начало положено.

7 комментариев

avatar
Пригодиться, хочу блог на Octopress перетащить
avatar
  • MpaK
  • 0
Ну чисто для Octopress тебе-то и интерпретатор Ruby поставить просто хватит, даже без виртуальной среды.
avatar
  • exvion
  • 0
В пункте 5.4 должно быть librarian-chef install.
avatar
  • MpaK
  • 0
Да, так и есть, видимо в попыхах забыл
avatar
  • exvion
  • 0
С рецептами проблема gist.github.com/exvion/5993449
Нашел вот такое решение gist.github.com/wbotelhos/5867242
avatar
  • exvion
  • +1
Решил проблему следующим образом, внес исправления в файл
cookbooks\apt\providers\repository.rb
-use_inline_resources
+use_inline_resources if Gem::Version.new(Chef::VERSION) >= Gem::Version.new('11')
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.