Ruby on Rails Wednesday, December 2, 2015

Hi Jason,

I used to develop inside a virtual machine as well (VMWare and VirtualBox) but made the switch to development on the same operating system for hardware reasons. The "workstation" I was provided with didn't have the specifications to run a virtual machine inside its host operating system.

Even though sometimes it's frustrating, having to work through missing dependencies and the like is a good experience. I work on a small team where both of us are full-stack developers. When something goes wrong we can only rely on one another and have to solve problems with no other assistance.

Being able to scrap a VM instance or reset it surely is convenient but I feel that it prevents you from gaining some development (system administration, really) experience.

My $0.02.

On Wednesday, December 2, 2015 at 11:46:49 AM UTC-6, Jason Hsu, Ruby on High Speed Rails wrote:
I regard Vagrant as indispensable for Ruby on Rails development.  (My setup is at https://github.com/jhsu802701/vagrant-debian-jessie .)  Before I learned to use Vagrant, I used VirtualBox directly for Ruby on Rails development.

That said, I also know that most people rely on Ruby on Rails installed directly on the host OS.  I never liked this setup, because there was no way to return Ruby on Rails to its initial state.  If anything went wrong, then I either had to troubleshoot the Ruby on Rails setup or reinstall Ruby on Rails.  I was unable to proceed any further on the project until I resolved this matter.  Additionally, there's also the "works on my machine" problem.  There were times when I tried to transfer my Rails app to another machine or deploy it, only to be greeted by very long error messages because of setup details that I forgot.  There were also times when I published a Ruby gem, only to get weird errors when I tried to use it.  These problems were most likely to crop up when I used "gem install" to install a Ruby gem but forgot to add the gem to the Gemfile/gemspec or when I made changes to the Gemfile/gemspec.

As a result, I insist on using Vagrant so that I can return Ruby on Rails to its initial state.  I also insist on including in each project a setup script that handles the setup AND testing.  When I rebuild my Vagrant box, git clone the project, and run the setup script, all of the tests should proceed as expected.  If that's the case, then I am assured that I have covered all of my bases.  If I get errors, or if strange things happen, then I know that I haven't covered all of my bases and need to update my setup script/instructions.

That said, I'd like to hear from those of you who are still part of the vast majority who use Ruby on Rails directly on the host OS.  How do you deal with the issues that prompted me to use VirtualBox/Vagrant?  (I think that gemsets are a popular solution.  Is this correct?)

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/af1a01a6-2ad6-4c74-b0e1-957469e06d05%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment