Ruby packages for Ubuntu

Brightbox have been providing optimised Ruby packages for Ubuntu for years. We’re currently maintaining packages for Ruby 2.2, 2.1, 2.0, 1.9.3, and 1.8.7. Our Ruby 1.9.3 and 1.8.7 packages are modified with various performance improvements.

Ruby 2.2

Ruby 2.2 is currently in beta, but we’re providing Ubuntu packages to help with testing.

Ruby 2.1

We provide Ruby 2.1 packages for Ubuntu Trusty and Precise. Our Ruby 2.1 packages are built from unmodified versions of Ruby.

Ruby 2.0

We provide Ruby 2.0 packages for Ubuntu Precise and Lucid. Our Ruby 2.0 packages are built from unmodified versions of Ruby.

Ruby 1.9.3

We provide Ruby 1.9.3 packages for Ubuntu Trusty, Precise and Lucid. Our Ruby 1.9.3 packages include some major performance improvements:

Ruby 1.8.7

We provide Ruby 1.8.7 packages for Ubuntu Trusty, Precise and Lucid. Our Ruby 1.8.7 packages include some major improvements:

Installation

All the above packages are available from our Launchpad package repository. You can add the repository to your servers like this:

sudo apt-get install python-software-properties
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update

and you can install or upgrade ruby like this:

sudo apt-get install ruby rubygems ruby-switch

If you’re upgrading, some packages have been replaced so you will see apt removing some packages (such as rubygems1.8, irb1.8 and others) – don’t panic :)

To install Ruby 1.9.3:

sudo apt-get install ruby1.9.3

And you can run the different versions of ruby like this:

$ ruby1.8 -v
ruby 1.8.7 (2012-02-08 MBARI 8/0x8770 on patchlevel 358) [i486-linux], MBARI 0x8770, Ruby Enterprise Edition 2012.02

$ ruby1.9.3 -v
ruby 1.9.3p545 (2014-02-24) [x86_64-linux] Brightbox

$ gem1.8 install bundler

$ gem1.9.3 install bundler

Switching the default Ruby version

You can also switch the default Ruby version back and forth between versions using the ruby-switch tool:

$ ruby -v
ruby 1.8.7 (2012-02-08 MBARI 8/0x8770 on patchlevel 358) [i486-linux], MBARI 0x8770, Ruby Enterprise Edition 2012.02

$ ruby-switch --list
ruby1.8
ruby1.9.1
ruby2.0
ruby2.1
ruby2.2

$ sudo ruby-switch --set ruby1.9.1
update-alternatives: using /usr/bin/ruby1.9.1 to provide /usr/bin/ruby (ruby) in manual mode.
update-alternatives: using /usr/bin/gem1.9.1 to provide /usr/bin/gem (gem) in manual mode.

$ ruby -v
ruby 1.9.3p545 (2014-02-24) [x86_64-linux] Brightbox

(note that Ruby 1.9.3 shows as 1.9.1, due to a historical Debian thing about binary compatibility)

Gem binaries

The binaries installed by gems (such as bundler’s “bundle” command) might not automatically use the current default version of ruby (preferring the version that was default at the time it was installed). In that case, you can explicitly run it under a specific version like this:

$ ruby1.9.1 -S bundle -v
Bundler version 1.6.3

Rubygems Compatibility

Note that some older versions of Rails do not work with the latest versions of Rubygems - if you’re using our Rubygems 1.3.7 packages and don’t want to upgrade them, you can pin them like this:

cat <<EOF > /etc/apt/preferences.d/rubygems
Package: rubygems
Pin: version 1.3.*
Pin-Priority: 600
Package: rubygems1.8
Pin: version 1.3.*
Pin-Priority: 600
EOF

Passenger Support

It’s now recommended to use Phusion’s own Ubuntu packages for Passenger (we helped develop them, so we know they’re alright ;)

Mailing List

If you have any feedback or comments, or just want to follow along with the latest announcements, join the Google Groups list. All feedback is always welcome - we like to hear from you even if everything worked ok.

Experimental repository

We have a separate experimental repository that holds test builds.

We recommend only using this experimental repository for testing purposes. Use the main repository for stable updates.

.

Last updated: 31 Oct 2014 at 15:16 UTC