I’m doing my part. My Debian Stable Vagrant box with pre-installed Ruby on Rails (https://github.com/jhsu802701/vagrant_debian_wheezy_rvm) is now part of my standard operating procedure.
Is there any reason that use of Vagrant is NOT already universal in the Ruby on Rails community? The issues that Vagrant addresses for me are:
- How can you get Ruby on Rails up and running in minutes instead of hours WITHOUT Vagrant? At an event like Startup Weekend or a 24-hour web site challenge, the Drupal, PHP, and Django people can get their teammates ready to roll in minutes. If you have to install Ruby on Rails without Vagrant, the process requires several steps and takes hours. Thanks to Vagrant, that will never again delay myself or anyone on my team from getting started.
- How do you install Ruby on Rails in Windows? Very few Ruby on Rails developers use Windows, which makes it hard to get help. Thanks to Vagrant, this will never be a problem for myself or anyone I work with, because it’s cross-platform.
- If RVM behaves in ways that you don’t expect, what do you do? It has happened to me a few times, though I was able to Google the error messages and figure out how to fix it. With Vagrant, I can just rebuild the box and return to original conditions. If you don’t have Vagrant, you may not be able to do anything in Ruby on Rails until you resolve the issue.
- How do you know that your gemspec/Gemfile and setup instructions are complete? This has come back to haunt me when I deployed Rails apps or published Ruby gems. If you remove dependencies from the Gemspec/Gemfile, those gems are NOT automatically uninstalled. (And the same goes for other gems that they pulled in.) Using Vagrant to rebuild my Ruby on Rails environment allows me to cover these bases. (And since I keep my projects in the shared directory, I don’t have to re-download them.)