Записка о том, что бывает, когда на сервере находится несколько ruby-приложений, использующих разные версии ruby и если эти приложения деплоятся через Capistrano. Иногда можно получить что-то вроде этого :
Your Ruby version is 2.5.1, but your Gemfile specified 2.6.3
И это несмотря на то, что rvm нашёл файл, в котором указана версия ruby, которую надо использовать и она установлена на сервере:
$ rvm list
rvm rubies
ruby-2.4.4 [ x86_64 ]
* ruby-2.5.1 [ x86_64 ]
=> ruby-2.6.3 [ x86_64 ]
# => - current
# =* - current && default
# * - default
Причины
Дело в том, что то самое расширение capistrano-rvm не парится и просто использует дефолтную версию.
set :rvm_ruby_version, "default"
Решение
Нужно прописать в ваш config/deploy.rb:
set :rvm_ruby_version, '.'
и это будет указание для rvm использовать ту версию, которая указана в файле .ruby-version. Соответственно, при выполнении команд, нужно находиться в папке, где есть этот .ruby-version, обычно это корневая директория проекта. Capistrano по-умолчанию делает именно так, поэтому ничего дополнительно делать не нужно.
Результат
00:25 bundler:install
01 ~/.rvm/bin/rvm . do bundle install --path /var/www/mysite/shared/bundle --jobs 4 --without development test --deployment --quiet
✔ 01 deployer@mysite.com 2.197s