I'm on a shared hosting account which runs cPanel, pretty standard unless you have your own VM. cPanel currently doesn't support Rails 3. My flat mate who has been working with ROR for the last year strongly suggests I set up my own development VM on my machine and learn ROR with Rails 3, and when it comes to putting stuff live on my hosting, work round any issues with Rails versions. I'm not 100% convinced by this, as I don't really want to maintain a local VM myself due to limited experience / time. I still haven't really started looking at ROR and have only done a few simple interactive on-line tutorials.

What are your thoughts / feelings / suggestions on this? If I stick with my hosts version of Ruby and Rails, will I be at a major disadvantage when it comes to working in industry or should it not make a huge amount of difference?

Background: I'm still a uni student.


Rails 3

You should use Rails 3. It is not simply a "shiny toy" or the "latest and greatest" - it is a powerful system with major architectural improvements over Rails 2. The Rails community has pushed very hard to make most Rails plugins compatible with Rails 3, with some plugins planning to drop compatibility with Rails 2.

Large Rails websites such as Shopify are already migrating to Rails 3.

Virtual Machine

Setting up a VM on your local host (using, e.g., the latest versions of VirtualBox and Ubuntu) is the best way and most advantageous in comparison to most other answers. It is very easy to maintain, once you've learned the ropes, because it's not a public server and does not require strict controls.

Better answers include: using a Mac; or installing Ubuntu (or another Linux operating system) instead of your current operating system. Unless you are particularly attached to your current operating system.


Find a different host.

You can host tiny apps for free on Heroku. Heroku requires you to use Git as your version control, but you should be using Git anyway as your version control system for most Rails applications.

  • As I said, I haven't had a chance to play with rails yet. I guess I should set up a VM, we use a VM at work but that comes all configured and updates come via puppet. It's not like I'm developing any sort of commercial application, just wanting to have a bit of a play with rails, see what I can do with it. Regarding hosting, I'm not sure I'd feel comfortable moving currently as I host a number of peoples websites, not just my own. – Relequestual Jan 23 '11 at 19:37

I am only experienced with Rails 3 but I highly recommend 'Ruby on Rails Tutorial' by Michael Hartlthis. - http://railstutorial.org/ruby-on-rails-tutorial-book

Start by downloading VirtualBox Open Source Edition and an ISO of Ubuntu 10.10 Desktop. You shouldn't have any difficulties creating a VM.

Virtual box - http://www.virtualbox.org/ Ubuntu 10.10 - http://www.ubuntu.com/desktop/get-ubuntu/download

This tutorial will help you set up Ubuntu 10.10 with Ruby, RVM (Ruby version manager), Git, and Rails - http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you

Edit - If you have any questions email me. Good luck!

  • 1
    There's no private messaging system on this site. FYI. – Adam Lear Jan 23 '11 at 16:44
  • This means - add snail mail address and bank account # to your profile please. – Job Jan 23 '11 at 16:50
  • 1
    Thanks for the info kf0l. I might be under the illusion that maintaining VM is blommin hard work, as I spend alot of time talking to our server guy at work. He may be taking alot of things too far though, I just don't know. I'm used to using a VM at work for stuff, Ubuntu distro but with quite a bit of custom stuff too. Would you say going about it the way you suggest is the BEST way and most advantageous in comparison to the others answers, or just pointing out an alternative solution? – Relequestual Jan 23 '11 at 16:55
  • 1
    +1 VirtualBox is the best free VM tool out there. I believe that you can take as many snapshots as you like with it, so maintaining a VM, when done right, can be easier than dealing with an actual computer (once Ubuntu gets sick - you are screwed). – Job Jan 23 '11 at 17:05
  • This is the best way to learn RoR I know of. You will become more experienced with VM's and version control (Git) all while learning rails. The guide is easy to follow and is mildly entertaining. ie "user.update_attributes(:name => "The Dude", :email => "dude@abides.org")" – kf0l Jan 23 '11 at 18:35

I think starting with 2.3 and then moving on to 3 when your host upgrades would be a fine way to go.

If you're just starting out, it doesn't really matter which one you learn first and in my (albeit also limited) experience most people out there are still using Rails 2.x. I would expect that if you apply to Rails jobs, being familiar with 2.x will only be a benefit, not a disadvantage.


Going ahead with rails3 is definitely a good move. if you programme in rails 2 you'll need to migrate to 3 eventually, because all the gems and plugins henceforth are most likely to be written for 3. although the learning
curve may not be big , learning 2 and then switching to 3 might be an unnecessary effort considering that 3 is a stable version.

Not the answer you're looking for? Browse other questions tagged or ask your own question.