← all posts

28 August 2009

Snow Leopard Ruby/Rails Developer Setup

If you don’t want to do a complete fresh re-install like I did, Jonathan Dance covers how to get things like the MySQL gem working again.

When I received my Snow Leopard disk I did a fresh re-install as I felt my computer was full of cruft and it was time to take out the trash. Of course, this meant also taking out all the cool apps / utilities etc that I use on a day-to-day basis. So here’s the stuff I’ve installed on my development box since I started.

Snow Leopard

Self-explanatory.

From the disk

Whilst you still have the disk handy (and by that I mean in the drive), it’d be wise of you to install from “Optional Installs” the “XCode” package. This provides gcc and other goodies, such as XCode (whodathunkit?). gcc will come in handy later on.

Utilities

MacPorts

I installed this from source and then installed curl with it. Apparently all the “important” packages are available and compatible, but you may find an edge case. Curl installed fine with this.

curl

Useful for retrieving websites or that odd XML feed from a provider. Installed via sudo port install curl

Git

To install Git I used the git-osx-installer, specifically the 1.6.4.1 version.

MySQL

Installing MySQL from package didn’t work for me (I don’t remember the error, or even if it was with the package or the gem, but it was a showstopper) so it was suggested via Google that I compile it from source. That I did and it worked out fine for me.

Other people have suggested to install the Mac OS X 10.5 (x86_64) version and to install the mysql gem using sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- -with-mysql-config=/usr/local/mysql/bin/mysql_config.

PostgreSQL

Installed from source, the package complains that I do not have an appropriate version of Mac OS X installed. I tend to disagree. Installing the gem is possible, again suggested via Google and then promptly ignored and then brought up on Twitter.

Sphinx

When you go about installing this you probably want to configure it with BOTH MySQL support and PostgreSQL support. Just specify the --with-mysql and --with-pgsql options to ./configure.

Teleport

Teleport is an awesome app that allows you to send the keyboard and mouse from one computer to another to control it. Really awesome for when you’re pairing because you can both connect to one machine and then if you need to go off and do something independently the other person can continue working whilst you do that. To change screens move the mouse to the edge and keep it moving like you’re using dual-displays. Then you’ll have a teleport icon appear in the middle identifying what computer you’re on.

Caffeine

Caffeine will keep your Mac wide-awake whilst it’s switched on. Helpful for presentations where you’re talking for a long period of time and the screen dims.

smcFanControl

Do you live in a climate where dropbears run rampant and temperatures below 35 celcius (in summer) are classed as “cold” days? Then you’ll need SMC Fan Control. This little app speeds up your fans so your laptop can keep cool so you can too!

Rip

Rip is another package manager (think RubyGems done right) and some Ruby apps I’ve used (such as Integrity) use it for installing their packages.

Applications

Firefox

Firefox is now the most widely used browser in the world, so it’s just about mandatory that as a web user you have this installed. Of course along with Firefox you’re going to want to install Firebug too. Firebug gives you a window to inspect your HTML in, a console to test Javascript and a lot more; very, very powerful.

Tweetie

Tweetie is essential Mac-based twittering. Very hot and very intuitive (by that I mean Cmd+1 = public, Cmd+2 = mentions, etc.).

LaunchBar

A paid app, but well worth the money. This provides a box that you can type app / file / whatever names (partial + full) into and it’ll find them. Default shortcut is Command+Space and this is probably the app I cannot live without.

TextMate

If you’re developing Ruby on Rails on Mac you’ll need this, or an eidetic memory for all those vim shortcuts.

Limechat

RubyCocoa IRC Client.

Mailplane

Application for Gmail, I find it much better than the standard Mail app as it supports all of Gmail’s features (it’s effectively a wrapper for Gmail), costs money but worth it.

Skype

VoIP chatting thingo. Helpful for chatting with clients / faraway colleagues. You may want to go into Preferences -> Advanced and uncheck “Enable Mood Messages”, as this always makes Skype appear like it’s got a message when all that’s happened is someone’s changed the status.

Adium

Instant Messaging program, supports many different protocols.

Skitch

Screenshot + Annotation, one of my favourite apps on any platform.

AquaPath

Helpful little tool for testing out your XPath expressions.

Remote Desktop Connection

A surprisingly good piece of software from Microsoft. For those of you familiar with Windows XP and so on you may know of Remote Desktop Connection. This allows you to control another Windows computer, but in this case a Windows computer from a Mac.

TextMate Bundles

Cucumber

I mainly have this one for the syntax highlighting, but the shortcuts are good also.

Javascript Tools

Used mainly for syntax checking of Javascript, but has other tools like JSLint and compressng.

Ruby on Rails

drnic’s updated Ruby on Rails TextMate bundle. Contains all your favourite useful shortcuts.

Ruby HAML

Used for its syntax highlighting capabilities.

RubyAMP

Used to jump to class / method definitions throughout applications, contains other features too.

Gem Stuff

First of all you’re going to want to run gem update --system to get the latest and greatest RubyGems and then just about immediately after that you’re going to want gem source -a http://gems.github.com. If you’re upgrading rather than doing a fresh install it’s recommended by wycats to run gem pristine --all to recompile all natives.

Then you’re going to want to install:

— Ryan

Got a thought? Email me or find me on Mastodon.

Before this: Octopi

After this: Driver