DEV Community

Ahmad Raza
Ahmad Raza

Posted on • Edited on

Ruby on Rails: Mac Install Guide

Installing Homebrew

Want a ubuntu install guide?

First, we need to install Homebrew. Homebrew allows us to install and compile software packages easily from source.

Homebrew comes with a very simple install script. When it asks you to install XCode CommandLine Tools, say yes.

Open Terminal and run the following command:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Enter fullscreen mode Exit fullscreen mode

Installing Ruby

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.

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' >> ~/.zshrc
source ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

To install Ruby and set the default version, we'll run the following commands:

rbenv install 3.2.0
rbenv global 3.2.0
Enter fullscreen mode Exit fullscreen mode

Confirm the default Ruby version matches the version you just installed.

ruby -v
Enter fullscreen mode Exit fullscreen mode

Installing Rails

Installing Rails is as simple as running the following command in your Terminal:

gem install rails -v 7.0.4
Enter fullscreen mode Exit fullscreen mode

Rails is now installed, but in order for us to use the rails executable, we need to tell rbenv to see it:

rbenv rehash
Enter fullscreen mode Exit fullscreen mode

And now we can verify Rails is installed:

rails -v
# Rails 7.0.4
Enter fullscreen mode Exit fullscreen mode

Setting Up A Database

We're going to install sqlite3 from homebrew because we can't use the built-in version with macOS Sierra without running into some troubles.

brew install sqlite3
Enter fullscreen mode Exit fullscreen mode

Rails ships with sqlite3 as the default database. Chances are you won't want to use it because it's stored as a simple file on disk. You'll probably want something more robust like MySQL or PostgreSQL.

There is a lot of documentation on both, so you can just pick one that seems like you'll be more comfortable with.

PostgreSQL

You can install PostgreSQL server and client from Homebrew:

brew install postgresql
Enter fullscreen mode Exit fullscreen mode

Once this command is finished, it gives you a couple commands to run. Follow the instructions and run them:

# To have launchd start postgresql at login:
brew services start postgresql
Enter fullscreen mode Exit fullscreen mode

By default the postgresql user is your current macOS username with no password. For example, my macOS user is named ahmad so I can login to postgresql with that username.

Final Steps

And now for the moment of truth. Let's create your first Rails application:

rails new myapp

#### If you want to use MySQL
rails new myapp -d mysql

#### If you want to use Postgres
# Note you will need to change config/database.yml's username to be
# the same as your macOS user account. (for example, mine is 'chris')
rails new myapp -d postgresql

# Move into the application directory
cd myapp

# If you setup MySQL or Postgres with a username/password, modify the
# config/database.yml file to contain the username/password that you specified

# Create the database
rake db:create

rails server
Enter fullscreen mode Exit fullscreen mode

You can now visit http://localhost:3000 to view your new website!

Now that you've got your machine setup, it's time to start building some Rails applications.

If you received an error that said Access denied for user 'root'@'localhost' (using password: NO) then you need to update your config/database.yml file to match the database username and password.

Want a ubuntu install guide?

Top comments (1)

Collapse
 
ahmadraza profile image
Ahmad Raza • Edited

Let me know if you get stuck in any error. I'll be glad to help you 🙂