Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've read that Windows is not recommended for Ruby development and this is last thing that stops me from starting some projects in Ruby. Are there any changes to this?

Or any suggestions to make development less painful?

PS. I really like Win 7 as desktop OS, but for production I'm going to use Linux server.

share|improve this question
    
Just use a Virtual Machine –  Tom Squires Nov 17 '11 at 14:27

7 Answers 7

up vote 19 down vote accepted

I went through the same deliberations and ended up installing Ubuntu through Wubi. It's a painless install and easily removable through "Add or Remove Programs" if you decide it's not for you. My choice was largely motivated by also wanting to gain more exposure bit more about the Linux side of things. Without that, I would have developed on Windows easily enough.

The main issue I found was that most people who write Ruby are either on Mac or Linux, so there are very few Windows instructions and there's a bit of a culture of bashing Windows users. If that doesn't concern you, go right ahead and stick with Windows. There are some technical issues you might come up against (e.g. paths or environment variables may be treated differently on your Windows dev box and the target Linux server), so make sure you write good tests and run them on both platforms before deployment.

share|improve this answer
    
I'll give it a try, but need to check some GRUB instructions first I think. As I said earlier last GRUB update killed my boot at all. Thx for pointing to Wubi. –  Alexey Anufriyev Dec 30 '10 at 14:35
1  
Excellent link. Thanks for the resource. –  user7676 Dec 30 '10 at 16:25
1  
@Alexey, don't worry: a wubi installation won't install GRUB. It just uses windows' default bootloader. –  cbrandolino Jan 24 '11 at 22:52

Whilst it is possible to use Windows for Ruby development, it's not the easiest.

In order to make it easier on you and still allow you to use Windows, install a virtual machine app such as VirtualBox and install an Ubuntu virtual machine and develop on that.

Deploying on the same type of system you deploy on will let you figure out how to set up the operating system and the packages for the application.

Finally, more Ruby people develop on *NIX so that when something does go wrong, you'll be able to reach out the community and come across people who would more likely be able to help you solve that problem.

share|improve this answer
    
I've tried VirtualBox.. it is quite slow =\ And after Ubuntu installation and last GRUB update killed my Win7 boot I'm bit afraid to do it again=\ –  Alexey Anufriyev Dec 30 '10 at 8:32

I was reading about making a Facebook app you can dev on Windows, it's easy to do it with MS Visual Studio 2008/2010 versions. It should be fine you just need to install some Ruby on Rails plugins and your done.

Before you say you do not need Rails install, that's because I have and it has made things a lot more simple.

I have made a number of programs using it.

share|improve this answer

You could try bitnami stack: http://bitnami.org/stack/rubystack

It saves me lot of time when I need to test some ruby apps under windows. But I'm not sure if it good for development use.

share|improve this answer

A few years back when I was developing with Rails I used a windows machine and it was absolutely fine. I doubt this has really changed.

The only caveat I would add is that if you want to do something with a regular GUI framework that will be harder, but certainly for tinkering with Rails there is nothing at all wrong with windows.

It's all free- why not just download the tools and see for yourself?

share|improve this answer

I did a lot of rails development on Windows but eventually gave up and switched my main computer over to Ubuntu.

Here is what you will encounter with Windows Ruby development:

  • Speed penalty. It used to be Ruby was really really slow on Windows. Mostly this was due to using an old VisualC compiler. Code ran about 1/3 the speed you could get on *nix systems. It's faster now than it was because of the work of a few guys to upgrade the installers and such to use Rubies developed with GCC. Also JRuby has pretty decent performance once it is loaded. However, it is still slower.

  • Plugin grief. Lots of major plugins require native compilation and it typically doesn't work or work well on windows so you have to do all kinds of gymnastics to get things to work and sometimes they just won't.

  • Example code often contains hard-coded *nixisms like path slashes because people are lazy.
  • You will eventually have a big chunk of your debug brain taken up by a worry that the error messages you are seeing are due to you trying to do your thing on windows. This is why I switched. I want 100% of my debug brain focused on my revenue generating problem solving. Even if it isn't an OS specific issue I was losing time just to the consider and reject the possibility.

On the plus side:

  • major players are lining up behind making Ruby and Rails work on Windows because they want the mad cash available on that side of the fence. Engine Yard wants these people as potential customers so they have the RVM guy putting effort into making ruby and rails play nice together.
  • the new installers are much much better than the older ones.
  • the maintainers of the new installers are also pushing for the authors of plugins that require native compilation to work with Windows.

I switched OS because I was intending to anyway. Running my own shop I didn't really want to pay Microsoft for OS upgrades anymore. Even if I hadn't I would still probably develop in a Virtual Linux box and it is the advice I give anyone who asks. I recognize that Ruby development on Windows won't improve without Windows based Ruby developers and salute those who choose to make the sacrifice but know that the alternatives to the pain, even if it is decreasing, are free.

share|improve this answer
    
The story is a lot better now. With the Ruby 1.9.2 one-click installer, they also have a copy of the mingw compilers for those native compilation requirements. I've yet to have a serious issue developing on Windows. –  Berin Loritsch Jan 25 '11 at 4:46

I've developing Rails on Windows since Rails 2.0. I had some issues up until 2.3, but it was still good enough for Windows.

Then came Rails 3 and RVM which is very hard to get working on Windows, and also, as everybody else are saying, plugins just aren't supported in Windows.

I tried running Ubuntu as a dual boot, but I didn't want to reboot my computer all the time when switching to a game or whatever.

So I tried running Ubuntu in a Virtual box. It was fine, but I'm just SO comfortable with Windows, that it just didn't feel right. Although, I was quite happy having a real Rails 3 environment. But as you're saying, it wasn't as fast as a native environment.

My current setup, which is just awesome (for me at least):

This allows me to have all files on Windows, and edit them in my favorite Windows editor!
Ubuntu is running the rails server with the mounted shared folder, so it treats it as any normal folder basically.
With the comfortable Windows environment, and the power of Rails on Ubuntu, this feels like heaven, compared to my previous environment.
And since Ubuntu is only responsible for running the Rails server, it's as fast as in Windows (or maybe faster). Also, since it's a shared network, I can easily just use an alias for it's ip. I use virualhost instead of localhost in my browser. (Added in the hosts file)

I haven't tried Wubi, but this is definitely a very viable setup for Windows developers.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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