Posted over 1 year ago. Visible to the public. Deprecated.

Installing Ruby <= 2.3 on Ubuntu 20.04+

This is not a good solution when you also use a gem like pg or mysql, which also builds against OpenSSL. Upgrade your Ruby version or run your legacy app in a Docker container instead.

Installing old Rubies (<= 2.3) with a standard rbenv + ruby-build is no longer possible on Ubuntu 20.04. This is because those Rubies depend on OpenSSL 1.0 which is no longer shipped with current Ubuntus.

We have forked ruby-build Archive with a workaround that makes it compile and statically link the latest OpenSSL 1.0 version. This works on Ubuntu 20.04, as well as on Ubuntu 18.04.

To switch to our fork of ruby-build, update ruby-build like this

git -C ~/.rbenv/plugins/ruby-build remote add makandra git -C ~/.rbenv/plugins/ruby-build fetch makandra git -C ~/.rbenv/plugins/ruby-build checkout makandra/local-openssl-for-old-rubies

At makandra, this comes preinstalled on new developer PCs.

Now "rbenv install 1.8.7-p375" etc. will use the workaround and hopefully just work.

Note: When you try to install a very current Ruby version, our fork might not know about it. In this case, see this card

Flaky tests are tests that sometimes fail for no obvious reason. They are the plague of many end-to-end (E2E) test suites that automate the browser through tools like Capybara and Selenium.

Join our free training event and learn to fix any flaky test suite, even in large legacy applications.

Owner of this card:

Tobias Kraze
Last edit:
about 1 year ago
by Henning Koch
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Tobias Kraze to makandra dev
This website uses short-lived cookies to improve usability.
Accept or learn more