Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm interested in whatever Yehuda Katz comes up with, but I've been a Rails dev at a Mac shop since 2007? and I have never been too frustrated by getting Rails running.

Does anyone here have specific problems? From my experience, it really has been a matter of "gem update --system; gem install rails".



> "gem update --system; gem install rails"

That'll throw a permissions error on a default OS X install-- and your Rails newbie will definitely not know that that means "you should really use rvm".

With that said-- a shell script that installs homebrew, git, rvm, the latest ruby, the latest rails, and a handful of useful gems, then drops you right into a shell of you brand spankin' new Rails (and Heroku!) project seems... pretty straightforward. Dealing with the common edge error cases and making it look nice and user friendly might take a couple hours. I'm curious to see where the time gets spent on this project.


Yehuda obviously intends to make it polished, useful and generic enough that it could be used for other players of the Rails ecosystem. The Mac packaging itself will take some time. Making sure that the project is versatile enough that it won't break but flex nicely at the sight of the next Rails release (or RVM or rubygems or whatever) in itself is no small feeat.


I've been a Rails dev since about 2007 as well and I've had some serious, serious problems dealing with Rails, gem dependencies, the version of RubyGems itself, and so on. rvm has helped a lot with that, but my last computer got so messed up when I upgraded to Snow Leopard it took me hours of configuration to get it working properly, and I had to abandon rvm entirely and start using rbenv. And then I couldn't work on half of my older projects.

In fact, it was so messed up, it motivated me to go out and buy a new Macbook (I needed a new computer anyway, but it provided a major impetus to go out and get one).

And that's just me. Even worse is the fact that I work on a lot of Rails projects with a designer who lives in Montreal, which is a good six hour drive from where I live. I've helped him get Rails set up on his computer, but it has not been easy - far from it. As a non-techie his computer is prone to all sorts of weird shit, he hates the CLI, he needs to be walked through, line-by-line, any situation involving some weird gem dependency nonsense - it's a horrible waste of my time. Imagine trying to debug someone's effed-up gem environment via a laggy screen-sharing connection while you're on deadline - it's awful!

To sum it up: this is a project worth supporting and I'm going to support it as soon as I click the 'reply' button on this comment form.


Lately it is has been getting a lot harder. The problem right now is that so many things have moved so far, that there simply isn't a known pattern that will work.

Generally speaking, you now need a compiler. If not to install something other than a quite old system ruby, then to install common gems like nokogiri.

XCode seems to change significantly every release. Not long ago, you had to download it, or get it from your system CDs. Then you had to buy it from the app-store. Then you got it for free from the app-store. Then you got the installer for free from the app-store, and had to run the installer. And today I think you get the installer, which you run, and then you go through a series of menus to get to "install command line tools" (like gcc).

Once gcc is there, then you need a ruby. There's RVM and rbenv. Those need to be found, installed (by running a curl command piped through bash), and then a ruby needs to be installed. I use RVM, which is easy enough for me, and it does install bundler by default (which is good).

Once you have a modern ruby, you probably want a database other than sqlite. For that, you usually need homebrew. Again, install homebrew, and then have homebrew install postgresql/mysql.

At this point you are almost ready to install the rails gem.

Oddly, a lot of the newer complexity has less to do with Rails, and has more to do with the Ruby ecosystem getting both older and more complex at the same time.

Every time I help a new developer get started with the rails environment, I too am amazed at how much has changed since I setup my own laptop one year ago.


As a fairly recent OSX and a fairly recent Rails user, I had no trouble learning either.

That is, except for Lion and XCode 4.2/4.3, which caused me about three lost days. 'rvm get head' and 'rvm install 1.9.3-head' fixed that, though.


I would say that that three lost days getting set up is a large, large problem for Rails, though.


Oh, absolutely - but don't confuse a Rails problem with a Ruby problem. It wasn't Rails causing problems, it was Ruby itself.


If I'm getting set up, I really don't distinguish between Rails itself being irritating and one of its dependencies being a PITA. Those dependencies are part of the architecture of Rails, so it gets the blame. It's not like I need foo version of ruby if I'm just doing some quick scripting.


That's 3 days you could spend curing cancer. Tongue in cheek aside, I use to rage when I had to spend 3 days doing server admin and configuration. Along comes heroku and dotcloud and it's a godsend.


I find the install even easier now thanks to RVM, which is just a copy and paste into the terminal. Same with POW, which is good for the server part of development.

But then again, all this seems easy to me, can't speak for people entirely new to development.


Getting a rails dev environment setup used to be pretty painful, but thanks to a bunch of great tools (brew, rvm, rb-env, bundler, pow), and many blog posts, things are much better now than in the past. I can easily get brew, ruby, rails, Xcode, zsh, emacs and my entire dev environment set up on a brand new computer in a few hours these days (bounded only by network and CPU), and then get to work right away.

It is a different story for someone completely new. When I have time to sit down and help my brother and friends interested in getting started building websites, I recommend Rails (or Sinatra these days). The entire first session is usually devoted to helping configure their environment, and explaining the various tools they may need to know about when they are on their own. This is before even getting to the bit about learning HTML, CSS, Javascript, and Ruby. All of this is usually a complete waste of time because they have most likely lost me after typing in "cd" or "mkdir" for the first time. Yehuda's proposal nicely solves the configuration step for a beginner (the only class of developer for whom I think it is a seriously debilitating problem), but that is really the least of worries for someone new to web development in this day and age.


I installed rvm + some gems for the first time 4-5 months ago and ran into all kinds of problems. IIRC the problems stemmed from poor documentation, not poor tools. The existing tools work just fine. The problem was that the docs and intro guides are not written for someone who knows absolutely nothing about Ruby development.


I had problems installing it on older versions of OSX (Leopard), mainly because I was VERY new at managing the command line and understanding the relationships between ruby, rails, gems, etc and all of the various versions. I later got a new MBP and installing from a new install was very straight forward, but having to upgrade everything first and then installing it wasn't fun for a n00b like me. I would be interested in seeing this project as I think it would be easier for new kids on the rails block.


I've done it recently and it wasn't too bad, with the help of rvm. Getting the entire ecosystem (git, heroku, postgres, etc...) running is a bit more work, but pretty straightforward.

Perhaps part of the confusion is that there are a number of old blog posts that you'll dig up via google, and if you make the mistake of following an older one, you'll run into problems. I made this mistake trying to get rails set up on Ubuntu before I knew about rvm, and it was pretty painful.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: