Автоматически с использованием последней версии патча Ruby на Heroku - PullRequest
1 голос
/ 26 февраля 2020

Я недавно обновил свое приложение до Rails 6 и хотел бы, чтобы Heroku автоматически использовал последнюю версию патча Ruby (т.е. 2.6.x) при развертывании. Согласно документации Heroku , я смогу сделать это, указав ruby '~> 2.6.0 в моем Gemfile, но я получаю это сообщение при развертывании:

enter image description here

Вот верхние строки моего Gemfile:

# frozen_string_literal: true

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '~> 2.6.4'

Со всем, что я пробовал, Heroku все еще привязывает меня к ruby -2.6.4 ("Using Ruby version: ruby-2.6.4" ) и выдает предупреждение выше. Я пробовал:

  • Удаление моего. ruby -версионного файла (теперь его нет).
  • Изменение версии ruby в моем Gemfile на ruby ~> 2.6.0.

Любая помощь приветствуется!

Ответы [ 2 ]

1 голос
/ 26 февраля 2020

Не используйте прагматическое c управление версиями для Ruby.

Автоматическое обновление Ruby до последней минорной версии кажется хорошей идеей, если смотреть наивно, но в реальной жизни это должно заставить вас очень нервный. Программное обеспечение несовершенно, и даже программное обеспечение, которое близко следует за семантическим версионированием, потенциально может сломать ваше приложение, поскольку программное обеспечение написано людьми.

Вы хотите протестировать, разработать и развернуть на той же самой версии Ruby вплоть до патча -уровень. Используйте фиксированное ограничение версии.

1 голос
/ 26 февраля 2020

Вы уже связали этот документ: https://devcenter.heroku.com/articles/ruby-versions#ruby -version-speciers

Если вы хотите установить точно ruby 2.6.5, вам нужно написать:

ruby "2.6.5"

Недавно я обновил свое приложение до Rails 6, и хотел бы, чтобы Heroku автоматически использовала последнюю версию патча Ruby (т.е. 2.6.x) при развертывании. Согласно документации Heroku, Я мог бы сделать это, указав ruby '~> 2.6.0 в моем Gemfile , но я все еще получаю это сообщение при развертывании

Это недоразумение. Он не говорит, что будет использовать последнюю версию Ruby 2.6.x.

Вы можете поместить это туда:

ruby '~> 2.6.5'

Это установит ruby версию 2.6.5 или выше. Это то, что вы должны увеличить вручную. Но, как правило, если это работает для меньшей версии, вы все равно должны разрешить их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...