We will be setting up a Ruby on Rails development environment on Ubuntu 22.04 LTS.
Installing Ruby
The first step is to install some dependencies for Ruby and Rails.
We’re going to start by adding the Node.js and Yarn repositories to our system before installing them.
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
<div class="code-container">
<pre><code>
//sudo apt-get update
//sudo apt-get install git-core zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs yarn
</code></pre>
</div>
Next, we’re going to be installing Ruby using a version manager called Rbenv.
Installing with rbenv is a simple two-step process. First, you install rbenv, and then ruby-build:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
To install Ruby and set the default version, we’ll run the following commands:
rbenv install 3.2.1 # Change it with the latest version
rbenv global 3.2.1
Confirm the default Ruby version matches the version you just installed.
ruby -v
The last step is to install Bundler.
gem install bundler
# After bundler is installed, run this command:
rbenv rehash
Configuring Git
We’ll be using Git for our version control system so we’re going to set it up to match our Github account. If you don’t already have a Github account, make sure to register. It will come in handy in the future.
Replace name and email address in the following steps, with the ones you used for your Github account.
git config --global color.ui true
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR@EMAIL.com"
ssh-keygen -t rsa -b 4096 -C "YOUR@EMAIL.com"
The next step is to take the newly generated SSH key and add it to your Github account. You want to copy and paste the output of the following command and paste it here.
cat ~/.ssh/id_rsa.pub
Once you’ve done this, you can check and see if it worked:
ssh -T git@github.com
You should get a message like this:
Hi AhmadR-Coder-max! You've successfully authenticated, but GitHub does not provide shell access.
Installing Rails
gem install rails -v 7.0.4.2 # Change it with the latest version
Now after installing rails, you need to run the following command to make the rails executable available:
rbenv rehash
Now that you’ve installed Rails, you can run the rails -v
command to make sure you have everything installed correctly:
rails -v
# Rails 7.0.4.2
If you get a different result for some reason, quit/close your terminal and restart it. If it still doesn’t work, it means your environment may not be setup properly.
Setting Up A Database
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.
To install MySQL, run the below command:
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
To install PostgreSQL, run the below command:
sudo apt install postgresql-14 libpq-dev
The postgres installation doesn’t setup a user for you, so you’ll need to follow these steps to create a user with permission to create databases. Feel free to replace ahmad with your username.
sudo -u postgres createuser ahmad -s
# If you would like to set a password for the user, you can do the following
sudo -u postgres psql
postgres=# \password ahmad
Congratulations 🎉 your setup is done!
If you get any errors, don’t hesitate to ask in comments.