The true successor to InstantRails is out: Wayne Sequin of RVM fame, with the help of Dr. Nic Williams and RubyInstaller‘s Luis Lavena, has just released the first version of RailsInstaller.
Now I can finally stop worrying about how to find time to maintain RailsFTW. :D
Just like with JRuby 1.6.0RC1, I’ve taken time to try out RailsInstaller on my machine. Here are some quick thoughts about it:
RailsInstaller is HUGE. The installer is already quite large at 42MB, and as you can see from the screenshot above, the whole installation takes up a third of a gig of your hard drive. Bundling DevKit (basically MinGW for gem compilation) and Git really increased the size of the package.
In comparison, RubyInstaller’s 1.8.7 and 1.9.2 installers are only 10MB and 12MB, respectively. RailsFTW v0.4 is also pretty small at 13MB packaged, 46MB installed. I’d suggest they do the same as what I did with RailsFTW and remove the cached gems to lower the package size by an MB or two.
Another difference with RailsFTW is the Ruby version used. To provide maximum compatibility, RailsInstaller uses Ruby 1.8.7 instead of RailsFTW’s 1.9.2.
My initial reaction to this was “Wouldn’t 1.8.7 be slower than 1.9.2 because of the latter’s YARV?” Based on testing, however, 1.8.7 is consistently faster than 1.9.2 in both generator scripts (rails new
, rails g scaffold
) as well as serving a site via WEBrick.
The results are weird, but I guess we could blame that on caching and Windows IO and how they screw up how YARV works.
When compared to JRuby 1.6.0RC1, 1.8.7 is (as expected) much faster in the generator scripts, but also much slower (again as expected) in the WEBrick test. Nothing surprising here.
The last obvious difference between RailsInstaller and RailsFTW is MySQL support. RailsFTW comes with a mysql2 gem installed using MariaDB 5.2.4. It also comes with the libmysql.dll from the same package. Having both in RailsFTW allows users to use Rails with MySQL (say, via XAMPP) out of the box without me having to worry about Oracle’s lawyers.
The only catch here is that a fix is required to enable MariaDB-based installation meaning that the gem I used isn’t exactly the same gem that you download from RubyGems.
—
In closing, while I’m glad that there’s finally a professional alternative to my hacked-together Rails Windows installer, I don’t think RailsFTW has been totally superceded by RailsInstaller. At this point, it’s a matter of choosing between the RailsFTW minimalism and MySQL support vs RailsInstaller’s bundled Git and compatibility support via 1.8.7 + DevKit.
In the next RailsJam-type event, I’d probably leave the choice to the attendees. Some might favor a lower hard drive footprint and instant MySQL support, while others might favor having a bundled Git and DevKit to prepare themselves for more advanced Rails projects.
Aw dude, and here I was talking how RailsFTW is better than RailsInstaller. Shame on me?
It’s better, just not in every aspect ;)
[…] big update is the addition of a Ruby 1.8.7 installer. As mentioned in my previous post, RailsInstaller is a bit faster than RailsFTW because of 1.9.2′s slow performance. Because of […]
Just want to thank you. I am totally screwed (have a project due in 7 days for college) and I wasted 2.5 full days trying to get rails set up with mysql2.
Your application is amazing. I had used railsinstaller and it flunked badly with mysql2.
Yours is zip out of the box perfect. You guys are the unsung heros. Us little lads wouldnt be able to do aything without you. BRAVO.
Much appreciated.
NB