Bare Metal Ruby
This manual explains how to install the most recent stable version of
Ruby on Linux, without using rbenv
or alternative version managers. The goal was to find a fast and reliable approach for provisioning expendable virtual machines for Rails development environment.
- Installation speed matters.
- Only one version of Ruby is required system-wide.
- We're using Ubuntu, or any other Debian-based Linux distribution.
Step 1. Install prebuilt Ruby from Brightbox
package that should be installed in addition to the primary one. It is required to build native extensions for Ruby gems.
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.6 ruby2.6-dev
Brightbox manual proposes a tool called
that can help to switch between multiple Rubies on the same system. Since there will be only one of them, this step is unnecessary.
Step 2. Make gem work without sudo
will try to install new gems to the system folder (e.g.
), which is no good. Ruby version managers override this path with something under user home directory. But the same operation could be done manually. To permanently set target directory to the user home, and these lines to your
Here is the most important thing you need to know about Ruby version managers to understand what exactly they do in system configuration:
"RubyGems' default local repository can be overridden with the
sets the default repository to install into.
allows multiple local repositories to be searched for gems" — (rubygems.org
Step 3. Run a quick ad-hoc test
Log into the shell, and execute these commands to ensure
binaries are available, gem home path is configured correctly, and native extensions could be built:
gem install bundler rails
rails new testapp
Or just execute
to see the paths without installing anything.
Subscribe to get your daily round-up of top tech stories!