Posted 12 months ago. Visible to the public.

Installing Rails 5.2 LTS

This document describes how to swap out the official Rails 5.2 gems with Rails 5.2 LTS Archive . If you have installed Rails LTS before and want to update to a newer version, please see our update instructions.

Prerequisites

  1. Subscribe to a Rails LTS plan Archive to receive your credentials. If you already have a paid subscription for another version of Rails LTS, you can use the same credentials for Rails 5.2 LTS at no additional cost.

  2. Make sure your project satisfies the system requirement for Rails LTS. This involves upgrading to the latest official Rails 5.2 release.

Installation

  1. Open the Bundler configuration file (Gemfile) in your project's root directory and find this line:

    gem 'rails'
    

    Replace that line with the following code:

    source 'https://username:password@gems.railslts.com' do
      gem 'rails', '~> 5.2.7'
      gem 'actioncable',      require: false
      gem 'actionmailer',     require: false
      gem 'actionpack',       require: false
      gem 'actionview',       require: false
      gem 'activejob',        require: false
      gem 'activemodel',      require: false
      gem 'activerecord',     require: false
      gem 'activestorage',    require: false
      gem 'activesupport',    require: false
      gem 'railties',         require: false
      gem 'railslts-version', require: false
    end
    

    Replace username and password with your personal credentials that you received after subscribing to Rails LTS.
    Make sure a colon (:) separates username and password. If you don't want these credentials in your Gemfile, you can also set them in an environment variable BUNDLE_GEMS__RAILSLTS__COM=username:password.

    Note that our repositories are available via SSL (https) only, http://... will not work.

  2. Run Bundler to complete the installation:

    bundle update rails
    

    You might get a lot of unrelated upgrades. If you want to get as few updates as necessary, you can instead try to use this:

    bundle update rails actionpack actionview actionmailer activemodel activerecord activesupport railties activejob actioncable activestorage --conservative
    
  3. Confirm that you are running the latest version of Rails 5.2 LTS.

  4. Follow your normal release process (run tests, push, deploy to staging, do smoke/whatever testing, deploy to production).

Congratulations! You successfully deployed your application using Rails LTS.

If you have chosen to subscribe to the Rails LTS Notification List when signing up, you will be notified whenever a new patch for Rails LTS becomes available.

Note on rack

Rails 5.2 depends on Rack version 2.2.x (which itself is not currently part of Rails LTS). It has some minor security issues on its own. We have a public fork on Github Archive that fixes these issues.

Breaking changes

  • Mimicking vanilla Rails 5, Rails 5.2 LTS will try to use YAML.safe_load to deserialize certain database column. See details
Avatar
Tobias Kraze
Last edit
8 days ago
Tobias Kraze
About this deck
We are makandra and do test-driven, agile Ruby on Rails software development.