Updated: Mar. 11, 2014
All of our online courses start with comprehensive instructions for getting the required software installed and set up on your own computer. For the online Rails course, that means installing Ruby and Rails. During the course, you'll then write, refactor, and test your code directly on your own computer. That way, after the course, you'll already be familiar with the environment where you can then start writing your own Rails apps!
Setting up a stable Ruby and Rails environment on your Mac has never been easier. Here's our recommended approach…
Install Ruby 2 and Rails 4
The best way we've found to install Ruby and Rails on a Mac is using the Ruby Version Manager (RVM). It's a command-line tool that makes it easy to install and manage multiple independent Ruby environments on the same machine. That way, you'll be able to easily switch back and forth between different Ruby and Rails versions.
Note that Mac OS X ships with a version of Ruby. However, it's best not to mess around with the system-installed Ruby as it's intended to be used by the operating system and apps installed by Apple. So we'll use RVM to install a separate user-level Ruby environment, rather than mucking around with the system-installed Ruby.
First, find the Terminal application (it's under the Applications -> Utilities directory) and drag it onto your dock. You'll end up using Terminal a lot as a Rails developer, so it's good to have it handy. Then open a new Terminal session. You should see a new window with a cursor and a prompt that looks something like this:
The default prompt includes the computer name (enoch in my case), the current working directory (tilde represents your home directory), the current user name (mike), and a trailing $ which is the prompt for input.
If this is the first time you've seen this side of a Mac, it may seem rather intimidating. Don't let it throw you. It's simply a way to interact with your computer by entering commands. In fact, here comes our first command…
RVM compiles Ruby versions from source code. To do that, RVM uses the GCC compiler and other build tools. Unfortunately, GCC isn't installed by default on Mac OS X. GCC is only available after you've installed Apple's Command Line Tools for Xcode.
Check to see if you already have GCC installed by typing the following at the command prompt:
If you see a version number, then you're all set. If the
gcccommand isn't found, you may get a dialog asking if you'd like to install Apple's Command Line Tools for Xcode. Go ahead and click "Install" to automatically download and install the Command Line Tools.
Otherwise, download the Command Line Tools for Xcode. To access the downloads you may need to register as an Apple developer if you haven't already done so. Once you're on the downloads page, search for "command line tools" (in the search field on the left) and then click on the appropriate version of "Command Line Tools for Xcode". Click on the
.dmglink to download it. Once it has finished downloading, simply double-click the
.dmgfile and then double-click the enclosed
.pkgfile to start the installation process.
Next, to install RVM from its GitHub repository (the recommended way), we need a working version of the git version control system. It may seem like overkill at this point to install a version control system. However, as you become more familiar with the Rails community you'll find that having git installed will make things a lot easier. And it's easy enough to install, so we may as well get it out of the way now.
Check to see if you already have git installed by typing the following at the command prompt:
If you see a version number, then you're good to go. (Git is included in Apple's Command Line Tools.) If the
gitcommand isn't found, then download the latest version of the graphical Git installer from the git-osx-installer downloads page. Once it has finished downloading, simply double-click the
.dmgfile to start the installation process.
With that out of the way, install RVM by going back to your Terminal prompt and typing (or copying and pasting) the following:
curl -L https://get.rvm.io | bash -s stable
When the RVM installation is complete (it's fairly quick), close your Terminal session and open a new Terminal session. Then confirm that RVM is being properly loaded in the new Terminal session by typing
You should see a version number with no errors.
Now that we have RVM installed, we're ready to install Ruby 2. To do that, type
rvm install 2.1.1
This will download, compile, and install Ruby into a directory managed by RVM (it's under the
~/.rvmdirectory). Initially you may see some help information displayed, followed by a prompt at the bottom of the screen. Press the spacebar to scroll through the help pages, or press 'q' to skip over the help and proceed with installation.
Installing Ruby may take a while, so feel free to grab a refreshing beverage or a tasty snack.
When the installation is done, close your Terminal session and open a new Terminal session. Then set Ruby 2 as the current Ruby version by typing
rvm --default use 2.1.1
This also sets Ruby 2 as the default version to be used whenever you open any new Terminal sessions.
Then verify that Ruby 2 is the current Ruby version by typing
Now generate the core Ruby documentation by typing
rvm docs generate-ri
This takes a little while to complete, but in the end you'll have all the Ruby documentation at your fingertips.
Now we're ready to install Rails! Rails is distributed via RubyGems: the standard Ruby package manager. When you installed Ruby, the RubyGems system came along for the ride. With RubyGems already installed, it's easy to install Rails and its dependencies.
Install Rails 4 by typing
gem install rails --version 4.0.3 --no-ri --no-rdoc
Then sit back and relax as RubyGems downloads all the Rails-related gems. After a minute or so, you should end up with a couple dozen gems installed.
Finally, verify that Rails 4 was successfully installed by typing
Now you have the latest versions of Ruby and Rails installed!
Create An Example Rails App
Now that we have all the required software installed, let's create your first Rails app to make sure everything is working in harmony. We'll create a simple application for managing a list of todos.
From a command prompt, navigate to a directory where you want the application code to live (~/work, for example).
Start by creating an empty Rails application called
rails new todos
Change into the
todosdirectory that was created in the previous step:
The application doesn't know about todos yet, so we'll use scaffolding to quickly generate all the code for managing a list of todos. Run the scaffold generator by typing
rails g scaffold todo name:string due_on:date completed:boolean
You'll see Rails create a bunch of files, including a migration file for creating a database schema to store todo items in a database (SQLite3 in this case).
Run the database migration by typing
Then start the Rails app by typing
When you're done, you can stop the Rails app by typing
CTRL-Cin the command prompt where you started the app.
That's all there is to it! Now you have everything you need to start building your own Rails apps. And that's exactly how we recommend you start learning Rails, by actually building something, whether it be for fun or profit.
If you're not sure how to get started building Rails apps, consider taking our online Rails course. You'll learn how to build a complete Rails app step-by-step, from idea to deployment. Along the way you'll learn the tips, tricks, and best practices used by experienced Rails developers to build high-quality Rails apps quickly. You'll come away with a solid understanding of the fundamentals of Rails, and how to put all the pieces together, so you can confidently create your first Rails app or jump right into an existing app!