Ruby Version Manager, Gems, Bundler, ruby 1.8.7, 1.9.1
Март 30, 2010
Сегодня поставил на обе машины (стационарник и макбук) RVM (ruby version manager). Данная штука позволяет держать несколько версий руби, с их гемами и рельсами, что крайне удобно.
К примеру, я поставил 2 версии руби: 1.8.7 для продакшн разработки с рельсами 2.3.5, а также 1.9.1 для изучения и проб с рельсами версии 3.0.0 beta.
В качестве напоминалки сюда публикну пару команд, что же я сделал:
1. Первоначально я поставил RVM:
- http://rvm.beginrescueend.com/rvm/install/ – пища для размышлений
- mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/ && git clone –depth 1 git://github.com/wayneeseguin/rvm.git && cd rvm && ./install
- действовать по тому, что оно пишет при инсталле
- открываем консоль заново
2. Поставил 2 версии руби командами:
- rvm install 1.9.1
- rvm install 1.8.7
- переключаться между ними можно командой rvm 1.8.7 или rvm 1.9.1
- поставить какую-то версию по дефолту можно командой rvm 1.9.1 –default
3. Каждая версия требует своих гемов, которые хранятся в папке пользователя, поэтому не нужно указывать sudo при установке гемов
- для рельс третьих делаем так:
- gem install tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
- gem install rails –pre
- для вторых рельсов все проще:
- gem install rails
4. Особенность 3их рельсов в том, что гемы к ним лучше ставить через bundler. Он учитывает все зависимости, и сам с ними разбирается, а на начальных этапах зависимостей предвещается много. Так-то.
- rvm 1.9.1
- gem install bundler
- теперь все зависимости хранятся не в config/environment.rb, а в корне папки в файле Gemfile
- создаешь приложение на третьих рельсах и в Gemfile уже находится запись о том, что нужна sqlite3-ruby
- bundle install установит нужную версию
5. Создал 2 папочки, в коих теперь и развлекаюсь
- mkdir ~/www/rails3apps/
- mkdir ~/www/rails2apps/
ААА, совсем забыл, я же хотел составить список первоочередных гемов, которые поставлю сейчас:
- sqlite3-ruby
- nifty-generators
- dry_scaffold
- formtastic
- inherited_resources
- paperclip
- rmagick
- cucumber
P.S. RVM не работает под виндами
P.P.S. Нравится мне более свободный стиль изложения, типа заметок на полях, а не традиционный, типа статей. Но стиль статей обязывает.
Ввиду с возможным скорым переездом на рельсы, блог утеряет некоторое кол-во статей, и будет поделен на страницы заметок на полях и статейный.

Leave a Reply