# Setting up the Ruby dev environment on Mavericks ## Why would I want to do that? - You want to run guard - You want use Sublime plugins (like RSpec or Guard plugins) ## Installing `brew` [Brew](http://brew.sh/) aka Homebrew is a package management system for Mac OSX. Open up the Mac Terminal and run this command to install brew on your mac: ``` ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" ``` ## Install ruby through `rbenv` Now that we have Homebrew installed, we can use it to install Ruby. We're going to use rbenv to install and manage our Ruby versions. rbenv makes it really easy to have several versions of ruby on your laptop and switch between them. To do this, run the following commands in your Terminal: ``` brew install rbenv ruby-build # Add rbenv to bash so that it loads every time you open a terminal echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile source ~/.bash_profile # Install Ruby 2.1.1 and set it as the default version rbenv install 2.1.1 rbenv global 2.1.1 ruby -v # ruby 2.1.1 ``` Check out this article for a list of rbenv commands: http://cbednarski.com/articles/installing-ruby/ ## Install rails Install rails on your system so you can create new rails projects. ``` gem install rails ``` Rails is now installed, but in order for us to use the rails executable, we need to tell rbenv to see it: ``` rbenv rehash ``` And now we can verify Rails is installed: ``` rails -v # Rails 4.1.1 ``` ## Install the Postgres.app "The easiest way to run Postgres on your Mac" http://postgresapp.com/ ## Install the `pg` gem Here's how to install the pg gem with Postgres.app. http://stackoverflow.com/questions/20224483/cannot-install-pg-gem-in-mavericks-with-postgres-app ``` gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config ``` ## Install the command line developer tools The nokogiri gem needs these. See here for details: http://jasdeep.ca/2013/10/installing-nokogiri-fails-os-x-mavericks/ ``` xcode-select --install ``` ## Install the gems for a Rails project ``` cd /Users/monica/lighthouse/laser_shark bundle install ``` Follow the other setup instructions for that rails app. For `laser_shark`, you will have to edit your `/etc/hosts`, for example. ## Change `database.yml` In config/database.yml, make sure you have the following settings. Make sure you have the `host`, the password is blank, and the username is set to your computer's username. If you are not sure what your computer's username is, try running `whoami` in the terminal. ``` development: adapter: postgresql database: your_project_development host: localhost username: your_mac_user_name # use whoami in the terminal to see what the user name is password: # leave the password blank encoding: unicode pool: 5 test: adapter: postgresql database: your_project_test host: localhost username: your_mac_user_name # use whoami in the terminal to see what the user name is password: # leave the password blank encoding: unicode pool: 5 ``` Here's my database.yml for a rails project called hooligans ``` development: adapter: postgresql database: hooligans_development host: localhost username: monica password: encoding: unicode pool: 5 ``` To check if this works, see if you can create the database. ``` bin/rake db:create ``` ## Help Improve this I wrote this down from memory. If any of the steps here don't work, please fork this gist, fix the issue and share with the class.