Developing in Ruby on Windows

Ruby and Rails

  • RubyInstaller for Windows
  • RubyStack installer for Windows
  • Rails

Development Environment

IDEs

  • RubyMine
  • NetBeans
  • Aptana RadRails

Text Editors

  • Sublime Text 2
  • e (aka TextMate for Windows) (seems to have been abandoned)
  • Vim/Ruby

bash Environment

  • Cygwin

Source Control

  • Git

Helpful Links

  • Setting Up Rails Development Environment on Windows XP
  • RubyonWindows Blog
  • Is Windows a First Class Platform for Ruby?

Related Questions

  • Why is ruby so much slower on windows?
  • Limitations in running Ruby/Rails on windows
  • Will using an IDE with Rails hinder me?
  • GUI editor for Ruby in Windows
  • What IDE / Editor do you use for Ruby on Windows?
  • https://stackoverflow.com/questions/826164/a-definitive-list-of-ides-for-ruby-on-rails
  • Ruby On Rails with Windows Vista - Best Setup?
  • https://stackoverflow.com/search?q=ruby+on+windows

NetBeans or e as IDEs


Here's my incredibly detailed setup guide for Windows Server 2003, which works essentially unchanged on XP Pro and Vista. See this general installation list, and modify the instructions if you get different results. They're meant for people new to programming, so they'll probably be overly explicit for your purposes.

IMO, the one thing you definitely need is a *nix-style shell. This has nothing to do with whether you like dir or ls - you need to be able to run shell scripts or you won't get very far.

git bash (comes with msysgit) is my beacon in the storm of cmd.exe windows. It's essentially bash on Windows, and lets you run almost any script that you can run on *nix. This includes all the gem command line executables.

It gets weird in a few places.

  • File permissions - there just isn't a great way to map between Windows ACLs and POSIX file permissions. The Cygwin people have devoted years to solving it, but it still doesn't work all the time. git bash's approach is to just not do anything when asked to do a (for example) FileUtils.chmod. That means you may need to create a few more directories by hand, and you do need to be very aware of when something is changing file permissions.

For example, when I installed the Heroku gem on Windows, it tried to set the permissions of my Heroku credentials file, which has my Heroku password in plaintext, to u+r go-rwx. You'd definitely want to change the ACLs on that file if you're on a shared machine.

  • Scripts vs. .bat files - I wanted to change git's default editor from vi to SCiTE (not that I don't like vi; this was for a new-user workshop and I didn't want to explain editing modes). I had to create a .bat file that was actually a shell script. See the full explanation here:

How can I set up an editor to work with Git on Windows


RubyMine is supposed to be a top notch IDE. JetBrains always makes great products.