The Install (Lion Edition)
update: [2011-08-23] minor updates
update: [2011-11-05] I have automated this blog post into a shell script. Check it out here
TL;DR
- Copy & paste the following into a Terminal window:
test -f /tmp/the_install.sh && rm /tmp/the_install.sh
curl -s\
  https://raw.github.com/gist/1341873/60ccc411faadf1194941d7b65347ec09b10adac2/the_install.sh \
  -o /tmp/the_install.sh
chmod 0700 /tmp/the_install.sh
. /tmp/the_install.shThe saga continues
So this is the follow-up post to The Install - Snow Leopard Edition which helped you, the Ruby developer, set up a near-perfect development environment in Mac OS X. Only this time it’s on Apple’s latest version of Mac OS X, 10.7 (Lion). Again, feel free to copy and paste the commands into your terminal.
Take-away
This post walks you through setting up a very sustainable Ruby development environment on your Mac. You’ll be able to write Ruby on Rails apps along with anything else that uses Ruby. e.g. Sinatra Padrino Merb et al. It is also the setup we use everyday at Hashrocket
A Word of Caution
As usual, while it is unlikely any instruction given below might damage your system, it’s always a good idea to back up everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.
Step 0:
Prerequisite OS X Apps:
- Chrome (+ vimium)
- Firefox (+ firebug, -note that Selenium is not yet compatible with Firefox 5-)
- Fluid.app
- Gitx
- SizeUp
- Teleport
Install Xcode
You need to install Xcode for homebrew to compile code from source. It’s free in the Mac App Store! Xcode
OS X Named Streams issue1
- Fix it system wide, with the following:
echo "[default]" | sudo tee /etc/nsmb.conf
echo "streams=no" | sudo tee -a /etc/nsmb.confInstall homebrew
sudo mkdir /usr/local
sudo chown -R `whoami` /usr/local
curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/localCreate .bash_profile
echo '. "$HOME/.bashrc"' > ~/.bash_profileInstall MacVim
brew install macvimInstall utilities
brew install wget proctools ack ctags-exuberant markdownInstall ImageMagick (optional)
brew install imagemagickGet git
brew install gitdotfiles, dev folder
mkdir ~/hashrocket
cd ~/hashrocket
git clone https://github.com/hashrocket/dotmatrix.git
ln -s ~/hashrocket/dotmatrix/.bashrc ~/
ln -s ~/hashrocket/dotmatrix/.hashrc ~/
ln -s ~/hashrocket/dotmatrix/.vim ~/
ln -s ~/hashrocket/dotmatrix/.vimrc ~/
sh ~/hashrocket/dotmatrix/bin/vimbundles.shInstall rvm
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
echo 'if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then source "$HOME/.rvm/scripts/rvm" ; fi' \
       >> ~/.bashrc.local
echo -e "export rvm_project_rvmrc_default=1
export rvm_install_on_use_flag=1
export rvm_project_rvmrc=1
export rvm_path='$HOME/.rvm'" > ~/.rvmrc
echo '[[ -r $rvm_path/scripts/completion ]] && source $rvm_path/scripts/completion' \
       >> ~/.bashrc.local # rvm autocompletionCreate your .gemrc by copying & pasting the following in your terminal:
echo -e '---
:benchmark: false
gem: --no-ri --no-rdoc
:update_sources: true
:bulk_threshold: 1000
:verbose: true
:sources:
- http://rubygems.org
:backtrace: false' > ~/.gemrcSetup your global gems
A neat feature of rvm is defining the gems every rvm-controlled ruby will install on its global gemset. More here
Simply add your desired gems to the file: ~/.rvm/gemsets/global.gems like so:
rake -v0.9.2
hitch
dirtyNow each time you rvm install a ruby version, you’ll have hitch, dirty and rake version 0.9.2!
Install the rubies to your heart’s content
rvm install 1.8.7
rvm install 1.9.2
rvm use 1.9.2 --defaultMongo
brew install mongo # Follow instructionsPostgresql
brew install postgresql # Follow instructionsMySQL
brew install mysql # Follow instructionsGenerate a pubkey for this box
ssh-keygen -t rsa
# Add public key to your github account