Proposal: Recommend to install Ruby with RubyInstaller2 on Windows

It is excellent that Rails now includes a section on installing Ruby on your system. It could have been something in the past that blocked newcomers from actually getting started with the “Getting Started” tutorial, or they started with an outdated Ruby version.

However, instead of recommending installing WSL on Windows, it should explain how to do so using RubyInstaller2.

Most of the world runs on Windows. When I first started with programming, I also started on Windows because that’s the machine I had. I imagine for most programming newcomers, it will be the same. If you start with programming, it’s complicated; there is so much to learn and see. I don’t think you want to learn even more at that point only because you are on Windows. This is somewhat implied when the guides recommend to install WSL. WSL is not just a little tool; it is an entirely different operating system you can only manage through a terminal (or you can find out how to start the GUI apps through the terminal). So besides Ruby, you now should also learn a different operating system that works nothing like the thing you are familiar with.

The other main reason for pushing native Ruby on Windows is that every other significant programming language just works on Windows. Node, Python, Java, Rust, C# (obviously), Go, you name it. This should be the case for Ruby as well. Nobody should stand there and say, “Hey, it does not work because you have a Windows box”.

To a certain extent, it is a “chicken-and-egg” problem: Does Ruby support on Windows need to improve for more people to use it, or do more people need to use it for support to improve?

I happily admit that there are quirks with native Ruby on Windows. For example, if you take a normal Rails 8 installation, there are many more dependencies with precompiled extensions than on Linux. Until everyone updates their gem to support the newest Ruby release, it might take some time, although this process has become much faster in recent years. Ruby on Windows feels slower to me compared to Linux on similar hardware. YJIT is unavailable on Windows, although it is not really relevant for development.

Still, by changing the default recommendation on how to install Ruby on Windows, I think we can lower the entry barrier for new programmers to try out Ruby. Hopefully, they contribute by raising issues and providing feedback on improving the Ruby ecosystem on Windows, ultimately attracting many more programmers to Ruby.

Side note: You cannot complete the Rails “Getting Started” tutorial on native Ruby on Windows because it involves setting up Kamal, which needs Docker, and Docker on Windows needs WSL2 for Linux containers. However, I doubt any beginner will be able to complete this step since there is no description of how to set up a Linux server.

1 Like

I completely agree. There are almost no issues getting Rails running on Windows, even if you would most likely not deploy to Windows eventually (other than internal sites perhaps).

I’ve set up multiple versions of Ruby (see Ruby 3.3 here: Ruby 3.3 on Windows: Day 0 - install and Hello World) and also got Rails 8 working on Ruby 3.3 on Windows without any issues (see: Rails 8.0 with Ruby 3.3 on Windows: It just works! (and what to do if it doesn't!))