Last Updated: February 25, 2016
· heartcode

My typical dev env - checklist

This is my typical dev environment (a bit of Ruby and a bit of pure front-end stuff) and below is a list I follow when I set it up.

XCode + Command line tools

I think XCode is not necessarily evil and it's good to have (especially if you need to test on iOS). Now the command line tools come with the basic XCode install yay! Install XCode from the App Store. It over 2GB, so keep calm and carry on with the rest of the list :)


Brew is a great package manager for OS X - and a must have

$ ruby -e "$(curl -fsSL"
$ brew update


Now that we have brew it is super easy to install git:

$ brew install git

Node and npm

Installing Node is easy with Brew, and happy days - Node comes with NPM out of the box, so no more to do here but

$ brew install node

Grunt client

Next is the JavaScript task runner - Grunt:

$ npm install -g grunt-cli


Install this awesome front-end dependency manager via NPM:

$ npm install -g bower


Rbenv is a must to have if you work with Ruby and want to keep your Ruby versions nicely managed.


$ brew install rbenv ruby-build

Add this line to your ~/.profile file

eval "$(rbenv init - --no-rehash)"


Install the Ruby version you need using Rbenv!

Get a list of all available ruby builds:

$ rbenv install -l

Install latest stable version globally

$ rbenv install 2.1.1
$ rbenv global 2.1.1
$ rbenv rehash

PS: Don't forget to rbenv rehash every now and again!


Let's get bundler, the ultimate Ruby gem manager:

$ gem install bundler
$ rbenv rehash

Wrapping it up

This set up lets me work with pure Ruby, Ruby on Rails just as well as NodeJS based JavaScript projects, whilst being able to easily maintain the tools I use along the way thanks to gem and package architecture and the great open source effort behind them.

Of course a dev env isn't fully set up without a good code editor :) Here is how I normally install Sublime Text 3 Beta:


Say Thanks

2 Responses
Add your response


You should look into using Vagrant for your dev environments

over 1 year ago ·

Thanks @lsaffie, Vagrant is another great one! I have used it a few times, but it's not part of my typical set up, hence I didn't mention it.

over 1 year ago ·