If you're using Ruby on a Mac, it is set up by default, but you can't modify or upgrade it. Most developers don't use the pre-installed version of Ruby on their Macs. Instead, they configure several systems to help them manage Ruby installation (and other programs), and manage different versions of Ruby. In this lesson, we'll cover installing the version of Ruby and version management tools that are used on Epicodus computers.
Take note: if you run into any error that prevents you from completing all of the installation steps in this lesson, you should still continue with the remaining installation pre-work by installing Postgres.
Also make sure to take detailed notes on any issues that come up, the troubleshooting steps you took to address those issues, and any helpful resources you found along the way. You can share these notes with your peers, and they can share their notes with you.
We'll install Ruby using
ruby-install. If you have installed Ruby before, you may be using
RVM (Ruby Version Manager). You may stay with
RVM if it is working for you but we recommend using
ruby-install, which we will go over here. To uninstall RVM, type
$ rvm implode.
If you do not have Homebrew installed yet, you may install it now by copy and pasting this command into the command line:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
This installs Homebrew on your device, a package manager for OS X that makes it easy to install developer software.
Next, ensure Homebrew packages are run before the system versions of the same (which may be dated or not what we want) by executing the following:
For bash users:
$ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile
For zsh users:
$ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.zshrc
ruby-install, a tool for installing Ruby, run this command:
$ brew install ruby-install
To install the version of Ruby we use at Epicodus, run this command:
$ ruby-install ruby 3.1.2
If you get the following error
configure: error: clang version 3.0 or later is required, you'll need to install Xcode developer tools first:
$ xcode-select –-install
Optionally, you can run
$ rm -rf ~/src/ to remove the source code that
ruby-install downloaded as you won't need it anymore. As always, be very careful using the
$ rm -rf command. Alternatively, once you are using VS Code, you can use
$ code ~/src/ to open the directory in VS Code, look at the Ruby source code there, and remove it manually.
chruby, a program to manage which versions of Ruby you're using, run this command:
$ brew install chruby
Next, configure your shell's environment variables for
chruby by running the following two commands. This will set up bash or zsh to use
chruby and also set up auto-switching of Ruby versions.
For bash users:
$ echo 'source /usr/local/opt/chruby/share/chruby/chruby.sh' >> ~/.bash_profile $ echo 'source /usr/local/opt/chruby/share/chruby/auto.sh' >> ~/.bash_profile
For zsh users:
$ echo 'source /usr/local/opt/chruby/share/chruby/chruby.sh' >> ~/.zshrc $ echo 'source /usr/local/opt/chruby/share/chruby/auto.sh' >> ~/.zshrc
To set your default Ruby version to 3.1.2, run this command:
$ echo "ruby-3.1.2" > ~/.ruby-version
The last configuration I'd recommend is to not install documentation when you install Ruby gems. Why? It takes longer than installing the gems themselves, and better documentation is available online. Optionally, run this command:
$ echo "gem: --no-rdoc --no-ri" > ~/.gemrc
In your Terminal, run this command to verify the version of Ruby you've installed:
$ ruby -v
Also, confirm that you can access IRB (a REPL, which we'll learn more about soon):
$ irb irb(main):001:0>
To exit IRB, enter
Finally, verify that you can install Rails at the same version we use at Epicodus:
$ gem install rails -v 7.0
You can verify that Rails is working by navigating to the desktop and creating a new project:
$ rails new test_project
It will take a little time for Rails to spin up a new project. Once it's complete,
test_project and start the Rails server:
$ rails s
You should see a message similar to the following:
Puma starting in single mode... * Puma version: 5.6.4 (ruby 3.1.2-p20) ("Birdie's Version") * Min threads: 5 * Max threads: 5 * Environment: development * PID: 19756 * Listening on http://[::1]:3000 * Listening on http://127.0.0.1:3000
If not, remember to copy and paste the entire error log into a document that you can share with your instructor. To close the server enter
ctrl + c.
After you've completed these steps, delete the
And with that, you're ready to go!
Check out the READMEs for chruby and ruby-install, or at least bookmark them for later, so you know how to install other versions of Ruby and switch between them as needed. There's also an upcoming lesson on Managing Ruby Versions that goes into detail about using the tools ruby-install and chruby.
Otherwise, continue working through the Ruby and Rails pre-work!