// Tutorial //

How To Install Ruby On Rails on Ubuntu 12.04 LTS with rbenv

Published on April 12, 2013
Default avatar
By Ramesh Jha
Developer and author at DigitalOcean.
How To Install Ruby On Rails on Ubuntu 12.04 LTS with rbenv

Status: Deprecated

This article covers a version of Ubuntu that is no longer supported. If you are currently operate a server running Ubuntu 12.04, we highly recommend upgrading or migrating to a supported version of Ubuntu:

Reason: Ubuntu 12.04 reached end of life (EOL) on April 28, 2017 and no longer receives security patches or updates. This guide is no longer maintained.

See Instead:
This guide might still be useful as a reference, but may not work on other Ubuntu releases. If available, we strongly recommend using a guide written for the version of Ubuntu you are using. You can use the search functionality at the top of the page to find a more recent version.

Intro

Ruby On Rails (in short, Rails) is one of the most popular web development framework, In fact currently it's the hottest web development stack, especially for Saas (Software as a Service) apps.

Prerequisites

Before installing Rails, I assume that you have already setup the server (created users, setup ssh etc). You can find how to do this here: Ubuntu Server Setup.

Step One - Install rbenv and dependencies

Before, installing any package, it's always recommended to update package repository cache.

sudo apt-get update

Now, install git, curl and nodejs (javascript runtime is required in newer version of Rails). nodejs package is pretty outdated in official package repository, so install it from the PPA.

sudo apt-add-repository -y ppa:chris-lea/node.js

If you get the response sudo: apt-add-repository: command not found, you need to take one more step and install python properties to help you manage the repositories:

sudo apt-get install python-software-properties

Subsequently, you can take the next steps:

sudo apt-get -y update
sudo apt-get -y install curl git-core nodejs

Installing rbenv using a Installer

rbenv is a simple tool for managing multiple ruby versions, it's like RVM (so you could also use RVM) but it's light-weight and more simpler. To install rbenv we are using a simple script (hosted on github, you can checkout the code if you have any doubt).

First run the script,

curl https://raw.githubusercontent.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash

Now, update bashrc according to the instruction, add these lines to the top of your bashrc file:

nano ~/.bashrc
export RBENV_ROOT="${HOME}/.rbenv"
if [ -d "${RBENV_ROOT}" ]; then
  export PATH="${RBENV_ROOT}/bin:${PATH}"
  eval "$(rbenv init -)"
fi

Next, reload the shell.

source ~/.bashrc

Then, you should install the dependencies (using the installer tool),

rbenv bootstrap-ubuntu-12-04

Step Two - Install Ruby & gems

Install Ruby (and make it the default, that's what the global option does here) and gems -

rbenv install 1.9.3-p392
rbenv rehash
rbenv global 1.9.3-p392

For Bundler and rake

gem install rdoc
gem install bundler
gem install rake 
rbenv rehash

Step Three - Install Rails

Now, you can install the rails gem in one simple command -

gem install rails

If you’ve enjoyed this tutorial and our broader community, consider checking out our DigitalOcean products which can also help you achieve your development goals.

Learn more here


About the authors
Default avatar
Developer and author at DigitalOcean.

Still looking for an answer?

Was this helpful?
10 Comments

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

@guoqiang_huang1 and @adam.miribyan: Thanks for the heads up! I’ll update the article.

Hi, frustrated when the steps wasn’t working. and foudn that the rbenv-installer address had changed, see adam.miribyan’s comments as well.

It looks like the rbenv-installer script url has been changed to https://raw.githubusercontent.com/fesplugas/rbenv-installer/master/bin/rbenv-installer.

Neil, A perfect way to save commands. I use zsh, and in my .zshrc I save terminal entries to a .history file. It is perfect for keeping that of these types of things. I am pretty sure bash can do the same thing.

@nick4jesus it might be running out of memory. Try adding swap to your droplet: https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04

When I try to install a ruby, the compile process keeps getting killed, why?

This all worked perfectly. Got rbenv up and running. Now for Passenger, Nginx and Rails. Is there a way I can sort of save it all so far so I can revert to it if required?

@ dougquesnel: Exactly right. In 12.10 server apt-add-repository is in software-properties-common (not python-software-properties) The correct line for 12.10 is:

sudo apt-get install software-properties-common

I had to install software-properties-common to get it to show up.

Even after installing python-software properties it still says command not found.