Skip to content

Instantly share code, notes, and snippets.

@scmx
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

Reference http://stackoverflow.com/a/18490935/2037928

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 https://www.ruby-lang.org/en/downloads/

wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz

Unpack

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

Compile from source

./configure --prefix=/usr/local
make
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

Locally

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

@mehranshakeri
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)

@scmx
Copy link
Author

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