Ruby on Rails for Windows

Ruby is multiplatform language. But not all OS suit it good enough. Especially, Windows
21 June 2017   6403

Traditionally, it is customary to work with Ruby on Linux or Mac OS. But sometimes it becomes necessary to develop Ruby on Rails on Windows. For example, in a situation where there is no computer with a more suitable OS at hand, and there is no desire or opportunity to raise a virtual machine. Let's see how well Ruby feels in the operating system from Microsoft.

Ruby

A dynamic, open source programming language, focused on simplicity and productivity
 

Ruby on Rails

Ruby on Rails (RoR) - a framework written in the Ruby programming language

Is it possible to install Ruby on Rails on Windows?

Yes. You can run a full-fledged server for RoR windows development. The easiest way to do this is to use the RailsInstaller utility, which also includes support for the Ruby on Rails framework. After downloading the application, just run the .exe file and follow the installer's instructions. Any version of Windows is supported, starting with XP.

For those, who would like to control the Ruby installation process on Windows, there is an opportunity to install all necessary modules. Process looks like this:

  1. Download and unpack Ruby from here;
  2. Install Development Kit;
  3. Unpack SQlite to Ruby directory;
  4. Install SqLite and necessary gems and frameworks using Ruby's Comand Prompt.

rubyinstaller
RubyIntaller webpage

Rubyinstaller is made for Windows 7 and upper, his workability under Windows XP, Windows Server, Windows 2000, Windows NT, Windows Vista, Windows 98 and older isn't guaranteed.

What problems can appear while running Ruby on Rails on Windows?

As a rule, these type of instructions finishes with the worlds: “Now Ruby for windows is ready to work” but not in this case. Installation is the smallest issue that you will face. You will also have to deal with:

  • Wrong time format. Due this issue, errors with gems installation can appear, even with Ruby on Rails framework. In order to fix this issue, you have to change all time formats in "specification" directory to s.date = %q{2017-01-01}.
  • Issue with gems launch, such as Nokogiri, Devise, Selenium-webdriver. Sometimes they just dont work with Windows and it’s hard to find the cause of the problem because there’s no info in documentation. Sometimes it is impossible to fix such bugs.
  • Slow interpreter. For example, if Guard is used as a command line, standard test can take more than a minute.
  • Many popular Ruby web-servers aren't supported for Windows.

Due to all these issues, there aren’t many Windows Ruby developers. That’s why the gem developers don’t test their products on Windows or just don’t bother about it’s workability on Windows. So, there is no need to wait when Windows will become more friendly with Ruby.

Running Ruby or Ruby on Rails on Windows is a difficult task without any final profit. Most of Ruby features wont run in Windows. a beginner can find large amount of learning courses with in-browser coding, so even for a first steps in Ruby, windows is a bad choice. As for me, I’ve started learning Ruby on Linux.
 

Andrey Axenov
Evrone Back End developer

Ruby IDE for Windows

Most of the standard text editors work great with Ruby on Windows. But, if you need a Ruby on Rails Windows IDE, the choice is not very big.

RubyMine. Specialized development environment from JetBrains. It works with any windows version, starting from xp, including 64-bit systems; supports all popular Ruby frameworks, project creation and management, great code integration with autocompletion and fast navigation. Also, application can be used for other programming languages, such as: JavaScript, HTML, CSS.

Disadvantage - high price with the need of prolongation for every year.

NetBeans. Free IDE, supports Windows Vista and higher, including 64-bit systems, but doesn’t support Windows 10. Besides Ruby, HTML, CSS, PHP, Java, C, C++ are also supported.

Features:

  • Debugging tools that monitor the performance speed of the application in the real time and factors, that influence it.

  • Ability to create own plugins easily.

  • Ability to deploy created projects outside the IDE.

Komodo. Environment supports Windows 7 and higher, also including Windows Server 2008 and higher. Powerful development tool that fully supports more than 100 programming languages. Popular bug tracker services, Ruby frameworks, code debugging, simultaneous work with several projects are also supported. But, universality has high price.

My friend recently started to learn Ruby on Rails, I’m his mentor. He had a big drama trying to install Ruby on Rails on windows, without any luck. There are many jokes in developers community regarding Rails and Windows connectivity. I would recommend for every Ruby newbie to learn it straight on Linux or Mac os.
 

Dmitry Karpunin
Chief Front-End Developer at Evrone

When it is necessary to run Ruby on Rails on Windows?

If you have an opportunity - don’t do that. If you'll run Ruby on Rails for Windows, sooner or later you will face insoluble problems that will slow down your development or even make it impossible. If you are able to work with this programming language on Linux or Mac OS, that’s the thing you have to do.

So when it is necessary to run Ruby on Rails on Windows?

  1. You don’t have proper equipment by the hand, but you gotta code right now. For example, your PC is broken, and the only left computer is very old and it cannot support virtual machine. But even in this situation you can use Engine Yard or Cloud9 as an option.
    Feel free to learn more about the best Ruby IDEs
  2. You would like just to test Ruby. For example, you’ve started to learn this programming language recently. You can make first steps in Windows. if you don’t need gem support, clean Ruby on Rails for Windows works great.
    Here you can have more info about learning Ruby on Rails and Ruby on Rails guides.

In all other cases, Ruby on Rails development on Windows will bring more issues than profit.

Are you working with Rails on Windows?

Are you ready to work with Ruby on Rails using Windows operating system despite all its abovementioned disadvantages? Or you are using another OS for Ruby on Rails development? Please, share your thoughts with the community. Also, after the voting, you will be able to see what people like the most.

Yes
63% (5 votes)
No
38% (3 votes)
Total votes: 8

Ruby/RoR News Digest 12 - 18.10

Linux file locking mechanisms in Ruby, delete_by and destroy_by in Rails, Shrine v. 3.0 release and othe updates of this week in Ruby
18 October 2019   153

Greetings! I hope your week went great! Here's new "gemmy" programming news digest.

In this digest you will learn how to debug hidden memory leaks in Ruby, get familiar with hashes and Array#intensection method in Ruby 2.7

Guides

  • Debugging Hidden Memory Leaks in Ruby

A tutorial on finding the big memory leak in new Rails 6 with heaptrack, mwrap, chap and iseq_collector.

  • Let's Hash This Out 

A guide about hashes usage, and why author loves Hash more than HashWithIndifferentAccess

  • Exploring Linux File Locking Mechanisms in Ruby

Guide about using file locking mechanins on Linux in Ruby.

Articles

  • Ruby 2.7 Introduces a Array#intersection method 

Ruby 2.7 added new method called intersection which is enlighten in this article

  • Rails 6 adds delete_by and destroy_by methods

Detailed view on the methods, which deletes or destroys all the records that match the passed conditions

Updates

  • Shrine 3.0

3rd major update of gem, designed to manage file attachments that supports resumable uploads and can work with Rails and standard Rack apps brings more "friedship" to non-Active record frameworks

  • Humanize

Makes your numbers look "fancy", or, in other words, turns it from 10 to "ten"

  • Piperator

It's a composable pipelines for enumerators, encouraged by Elixir’s pipe operator and Node.js streams.

  • Active Merchant

Regulary updated gem, a simple payment abstraction library for the Shopify

  • Xcodeproj

With its help, macOS/iOS developers can script away boring management tasks and/or auto generate projects