Briefly, referring to the question described in the title
Why not create a Ruby on Rails distribution that works well on
Windows?
It is mistaken to say this, because Ror works very well in Windows environment. What affects the operation are the third-party dependencies that the app uses. Usually Gems and plugins poorly written or without proper support.
You can’t mix things up. The Ror framework is one thing and the Ror project with specific Gems is another. Also important not to confuse the language itself, Ruby is independent of Ror, Ror is a framework written in Ruby. Comparatively, it is the difference between PHP and Zendframework, Laravel, Cakephp. PHP is a language and the others cited are frameworks.
The problem you have may be due to Gems that do not provide proper support for your environment (Windows). It is not clear on which Gem or plugin is having difficulty so there is no way to get a clear answer on how to solve. As a result, what you have is trying to compile these dependencies with various hacks, due to lack of support, and this results in a malfunction of your app, usually runs much slower than on other platforms. From what I understand, that’s what you did.
But you can’t blame Ruby and not even Ror.
Basically, your options are:
Switch to Linux environment only because of a Gem or a plugin.. rsrs
Find an alternative dependency (Gem, plugin) that provides proper and guaranteed support.
You even write your own Gem/plugin.
Giving continuity to this passage:
If there is no such thing as a Ror distribution for Windows that
is updated, fast and works as well as on the Mac or
Linux distributions, why the community that is already enough
involved and experienced with the framework, do not create one that really
be it?
This part of the answer was a little extended and can be removed if someone interprets it as out of scope, but I decided to publish anyway. However, as you are asking this in the question, I revolving to make clear what happens.
I stress that it is personal opinion of someone who works with various environments. I work with linux, windows, mac. With several languages as well, including Ruby, and my main one is PHP. Read below:
I do not claim to make him give up the Ror, but rather raise awareness about reality. Be aware of the difference.
I understand the frustration because I have been dealing with Ror since 2011 and it has always been a way to build projects with Gems and plugins that do not provide adequate support for Windows and in many cases do not provide any support. It is common to see Gems abandoned more than 6 years ago. In 2011 I started a project where a Gem was abandoned 4 years ago and is still abandoned today. But the project depends on this and uses until today. rsrs. That is, 9 years depending on something abandoned. In this specific project the client did not want linux at all.
To make it work, I had to force the parallel use of Cygwin. In other situations I had to use virtualbox or Vmware. Simply awful.
Ror or ruby itself has nothing against Windows and provides good support, but unfortunately those who adhere to Ruby are usually "windows haters" (in a pejorative sense, because I think people like this are childish and unprofessional). Often purposely ignore Windows support.
Ruby and the Ror framework are collaborative development. What happens in the ruby world is, ruby is made up of a community that turns a blind eye to Windows for sheer "tantrum" and thereby loses a lot by ignoring a globally dominant operating system.
So you have a smaller community and consequently fewer people willing to collaborate and share experiences and also not willing to start in this environment because even those who venture to start are faced with these problems considered crude.
By comparison, PHP has grown to be flexible for "any" environment (most popular environments). PHP has provided server support since Windows 98 PWS. At that time, those who used Windows and wanted to enter the world of web development used what they had most accessible, and it was ASP under PWS (in the case of Windows98). PHP realized that to engage programmers it had to provide support for this environment and did so.
In a short time PHP that was quite amateur and naive, created in the "bottom of a backyard" by an amateur programmer who had no idea of the phenomenon he was creating, managed to unlock a tool built by largest corporation in the world.
Something that also increased the acceptance of PHP by Windows users is that even under Linux environment it was much more complicated to install and configure. Actually it was a nightmare. But under Windows environment just play a few dlls here and there and everything was ready!
And don’t think that it was PHP that provided these dlls and binaries for Windows. Everything has always been provided by volunteers and is so to this day with some exceptions.
Those who are older know how it was necessary to compile php-Gd and other essential Ibraries. In Windows, it was enough to uncomment a line and it was ready. No firula, no mimimi. So the excited progamator was already going straight to the point that was programming, either for fun or for work. As it was all easy, soon the guy fell in love and invested time in language.
Another point that made ASP lose space for PHP is not providing compatibility for Linux environment. On the one hand, we have ordinary users who use Windows mostly and on the other hand web servers (hosting providers) that offer Linux for the most part. It was obvious that it should provide support for these two environments. Microsoft bet on forcing the use of Windows servers but it was a "wrong" bet because not everyone was able to afford more expensive hosting to cover the licenses of Windows servers. In addition there was a Marketplace around the ASP because many features considered basic as "file upload", it was necessary to buy a component separately. And they had no idea that the PHP competitor would go so far. In the end, with all these combinations PHP has grown and practically "dominates" this area, regardless of whether there are better tools. What matters is the support and strength of the community.
After all, what’s the point of creating something you claim to be better at if you can’t even engage anyone to use it? How can it be better if it doesn’t even provide the basic support and warranty?
The interesting thing about this is that Microsoft understood the importance of PHP and started providing official support. https://php.iis.net/ and https://www.microsoft.com/web/platform/phponwindows.aspx
Usually when you look for Ruby communities, if you’re a Windows user, you get stoned. The first piece of advice is the dumbest of all. " Change the system, use Ubuntu, use Redhat, use Suse, bla bla bla" They start to fight each other. They just don’t want to solve issues involving Windows environment. It’s ridiculous. They think doing this will destroy Microsoft. They focus more on indoctrinating you to use the mac or linux than on the focus of the problem with the language itself, Ruby.
The subject has no idea why the user is on Windows. I for example use CAD software. (Solidworks, Autocad, etc). Then it would force me to buy another PC with linux or use the mac (I hate mac but I use to develop for iOS). It is unviable. Have a second linux PC just to run an app on Ror because of a Gem. If other languages like Phyton and php make everything cute, why can’t Ror better provide something so basic?
If your have a company with 100 employees all under Windows, then what a great idea huh! Let’s throw away all these Pcs and buy 100 Macs. Or force everyone to adapt to any of these hundreds of Linux distributions. After all, the company’s money grows on trees. rsrsr
The consequence of all this generates a domino effect. There are many companies that rely on systems written under the Ror and when they need a professional to continue (the original programmer left the company), they face a huge difficulty in finding a professional because they are few compared to other tools. Consequently, the cost is also higher, because the value is according to the supply and demand.
A system that was created with a tool that sold itself claiming to be better than competitors but ultimately becomes more expensive and laborious to provide the same result as competitors. From a "business" point of view this is illogical. It is not advantageous when you have a debt or a lower profit.
What is lacking in Ruby or Ror is that Velopers and fans themselves have a more mature mindset. Stop this childishness that only harms themselves.
I believe that if it wasn’t composed of communities of haters(1), Ror would have debunked PHP long ago as it is an excellent and very productive tool.
(1) Of course it is a generalization, because there are always exceptions. There are good professionals in the world Ror who think contrary to most who are in this environment.
What version are you trying to create with? Using
Windows 10
I managed to create an application with therails 4
with theruby 2.1
. The most current version ofruby
who made myrails
fail, when I tried to create an application withruby 2.3
was giving problems in thegems
. See if the combination:rails 4 + ruby 2.1 (ou 2.0)
serves you well.– Gabriel Katakura
You also have the option to use the new feature
bash on ubuntu
ofWindows
: https://gorails.com/setup/windows/10– Gabriel Katakura
I’m using Windows 7. Thanks @Gabrielkatakura for your help, I’ll try to do what you said, although I don’t think it solves the real problem posed by the question. Because I want Rails to work as well on Windows as on Mac and Linux distributions. New versions without compatibility and not to mention that super slow Rails on Windows.
– user53564
@Gabrielkatakura Unfortunately what you said did not solve, and now neither the application wants to create.
– user53564
Honestly, I don’t know how to solve the case with
Windows 7
, as I had said, mine worked withWindows 10
– Gabriel Katakura