Bundler приложения Heroku работает с неверной версией Ruby - PullRequest
1 голос
/ 23 марта 2020

У меня есть приложение Rails Heroku, которое использует Ruby 2.6.5 и Rails 6.0.2.2. Это поддерживаемая Ruby версия от Heroku, и я указал ее в. ruby -version, моем Gemfile и Gemfile.lock:

~ $ cat .ruby-version 
2.6.5
~ $ cat Gemfile
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.6.5'
[...]
~ $ cat Gemfile.lock
[...]
RUBY VERSION
   ruby 2.6.5p114

Однако, когда я запускаю bundler env в удаленном приложении, это первая часть вывода:

~ $ bundle env
## Environment

Bundler       2.0.2
  Platforms   ruby, x86_64-linux
Ruby          2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
  Full Path   /usr/bin/ruby2.5
  Config Dir  /etc
RubyGems      2.7.6
  Gem Home    /var/lib/gems/2.5.0
  Gem Path    /app/vendor/bundle/ruby/2.6.0:
  User Path   /app/.gem/ruby/2.5.0
  Bin Dir     /usr/local/bin
Tools         
  Git         2.17.1
  RVM         not installed
  rbenv       not installed
  chruby      not installed

Обратите внимание, что он использует Ruby 2.5.1. Это мешает мне запускать Rails-миграции, потому что я всегда получаю ошибку Your Ruby version is 2.5.1, but your Gemfile specified 2.6.5. Я что-то упустил?

Вещи, которые я пробовал, которые не вызвали каких-либо изменений в поведении:

  • Запуск совершенно нового приложения Heroku с помощью приложения с бесплатным sh deploy
  • Запуск /bin/bash в приложении Heroku и ручное обновление Bundler

Есть ли способ заставить Bundler использовать правильную версию Ruby?

...