This is deepcalm.com.

Setting up a Ruby on Rails Development Mac // writing

9Oct2007

If you’re using Mac OS X Leopard you might want to try my updated guide to setting up a Ruby on Rails Mac.

I’ve used various Macs for web development, including Ruby On Rails, over the last couple of years and with a few new Macs arriving in the office it’s become clear that I should make a note of what I’ve been doing to do to set up a Rails development environment on a Mac.

Now I’m no expert, and this is as much for my benefit as it is for the internets at large.

Setup Dev Environment

I’m not going to cover ground that has been more comprehensively covered elsewhere so either head to the canonical roll your own rails hosted by Dan Benjamin or (what I’ve preferred to do recently) use JDD’s MacPorts Way. The Macports way hides some of the serious Terminal usage and ensures you get latest versions and can easy move between versions should things break.

Pleasingly you’re now pretty much done as far as far as the guts of a development machine is concerned.

Useful Tools

A list of useful development only tools, I’m saving my ‘must have’ Mac software for another post, but these are the development focussed applications I need as a minimum to operate.

Textmate

If you’re on a Mac and programming, you basically need TextMate. The de-facto Rails programming environment for virtually everyone. Quite possibly the best 39 Euro you’ll ever spend.

I’m still not getting the most out of it, every time I see one of the other guys the office use it I learn something new. Probably should get round to watching that PeepCode Screencast I’ve got sat on my Macbook.

CocoaMySQL

Invaluable in order to troubleshoot exactly what’s going in and out of both your local and your remote databases.

SVN Plugin

Very useful for adding the odd file to Subversion in the Finder. But you’ll want to do most of your SVN’ing from the command line.

iTerm

You can use the built-in terminal program in Mac OS X but frankly why would you when iTerm is free and has tabs?

Transmit

Beautifully designed Mac FTP client.

Growl

Not strictly for development but useful as a notification framework that lots of other programs can hook into. i.e. When you get new email, Transmit has finished uploading, tests have passed…

Gems

These are the standard set of Gems I install to get me up and running.

Autotest (and redgreen) (Useful Primer)

sudo gem install ZenTest
sudo gem install redgreen

You are doing test first development right? This gem enables automatic testing as you code and colorises the output to make it more readable. It’s helping me on the road to developer enlightenment.

Piston (Useful Primer)

sudo gem install --include-dependencies piston

For keeping your plugins up to date without having to go through the rigmarole of SVN externals.

Capistrano (Useful Primer)

sudo gem install -y capistrano

If you’re deploying your app to a remote server you’ll want to spend some time getting to know Capistrano. It lets you deploy your application and then roll it back with very little bother.

ImageScience optional

A quick and dirty image processor that can resize and crop images but not much more. A great alternative to the massive memory hog that is RMagick.

sudo port selfupdate
sudo port install freeimage
sudo gem install -y image_science

You’ll need to install MacPorts if you haven’t already used the Macports way of setting up your Mac.

Browsers

As for browser testing I have, rather conveniently, written an article that describes that set up too. It’s equally applicable to web designers as it is to Rails programmers so I broke this article into two so as not to scare any pure front-end people!

That’s my 2 cents

Anything I’ve missed?

AndyCroll

Address

17A The Frabella 1
109 Rada Street
Makati City 1229 Philippines

Download my vCard

Colophon