But with the beauteous ease of use of `therubyracer` gem, it wasn’t that bad: Oh, quit your bellyaching, just add `therubyracer` to your Gemfile, and you can forget about it.
Except, um, not with 0.11.0. People everywhere are having a hellova time getting therubyracer 0.11.0 installed. I honestly don’t really know/understand what changed with 0.11.0 — I guess depending on a new version of v8, but I’m not sure what makes the new version of v8 harder to get to install transparently Just Works than the old one.
But I’m seeing reports from downstream users of software I commit to (built on rails) “hey, it says it needs to install therubyracer adn can’t, what do I do?” And some software that was including therubyracer in it’s built on travis — it fails on travis too (I have no idea if you really need therubyracer on travis, there might be another js runtime there already, it’s just another example of a system that 0.10.0 built on but not 0.11.0. )
All my existing projects had Gemfile.lock’s with 0.10.x’s in them, but I figured, okay, let’s give it a try. 0.11.0 won’t compile on my RHEL5 box (don’t ask why I’m on RHEL5, but previous versions of therubyracer never had a problem with it, or with nearly anywhere else) — it first tells me that I need to compile v8 from source because it’s not on my system (how did 0.10.x get around that?), but tells me I can use the gem “libv8” to do that for me — but I try to gem install libv8, it fails to compile from source, and seems possibly to be complaining that I don’t have a recent enough version of `g++` installed.
Oh, I know how this kind of unix/C dependency hell goes…. but I need to go through it just to get an out of the box standard Rails app up and running? Really?
Well, no, not if I just lock to therubyracer “~> 0.10.x” in my Gemfile. That’s what I plan to do until when and if therubyracer manages to figure out how to become as easy to install as it used to be (or until things start requiring newer versions of therubyracer for some reason; if at that point, it’s still hard to install… I guess I’ll start looking into how to turn off the parts of rails that require a JS runtime?).
Sadly, newbies to Rails won’t know to do that, and it’ll just be one more barrier to getting started on Rails, one more of many that have arisen since Rails 1.x or even 2.x days. But if I see a question “why can’t I get Rails to work?” that’s due to this, my answer is going to be “just stick this in your Gemfile to lock to the old version of therubyracer”.