Skip to content

Instantly share code, notes, and snippets.

Last active November 6, 2019 15:31
Show Gist options
  • Save scmx/9489499 to your computer and use it in GitHub Desktop.
Save scmx/9489499 to your computer and use it in GitHub Desktop.
Upgrade/Install ruby 2.1.2 #ubuntu #12.04 #14.04

Upgrade/Install ruby 2.1.2

ubuntu 12.04 14.04


Login as root

Install needed packages

apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev
cd /tmp

Download appropriate ruby version



tar -xvzf ruby-2.1.2.tar.gz
cd ruby-2.1.2/

Compile from source

./configure --prefix=/usr/local
make install

Make sure deploy user has access to installing gems

chown -R deploy:staff /usr/local/bin
chown -R deploy:staff /usr/local/lib/ruby

Login as deploy user

Install bundler

gem install bundler


cap production deploy

Remove the old manifest.yml file

rm /u/apps/YOUR_APP_NAME/shared/assets/manifest.yml

I also had to make the unicorn binary into a binstub

Copy link

Wow, great gist.

Copy link

Thanks, this was really helpful. After going through up until checking if deploy user has access to install gems, everything compiled fine. However, I get an error when I check "chown -R deploy:staff /usr/local/bin" which has a message "chown: invalid user: 'deploy:staff' and when I check version "ruby -v" it is still the old 1.9.3p484. Do you know what might be the problem?

Copy link

Rarely does a web search return such an exact answer. Thanks for this. It helped me get command-t working in my recent Vim install.

Copy link

levifig commented Apr 13, 2016

@everysum1 deploy is not a default user. You have to create it first before you can chown it…

Copy link

sam452 commented May 17, 2016

Hmm. how does this become the system ruby? My contents of the /usr/local/lib only contains python and the site_ruby folder.

Copy link

awesome, nice script !

Copy link

Nice, very easy and helpful.
Just one question. I used these steps to upgrade my ruby on ubuntu 14.04. Everything went well instead of "cap production deploy".
I'm not familiar with CAP and it returns this error:

/usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in require': cannot load such file -- capistrano/cli (LoadError) from /usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:inrequire'
from /usr/bin/cap:3:in `


Does it create any problem somewhere or not?
Anyway my ruby is upgraded to version 2.1.2 and it seems it's working fine.(I just need it for SASS for compiling my project)

Copy link

scmx commented Feb 3, 2017

Wow, I had no idea there were comments, forks and lots of stars here. Glad you all found it useful. I barely remember writing this and the instructions seems to have been very specific to my usecase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment