Я пытаюсь запустить приложение Rails на Ruby 2.7.1 на Heroku. Все работало нормально, затем я изменил что-то в своем Gemfile, чтобы использовать пронумерованные параметры Ruby 2.7 , и теперь развертывание завершается сбоем с этим сообщением об ошибке:
remote: -----> Build succeeded!
remote: -----> Ruby app detected
remote: -----> Installing bundler 2.0.2
remote: -----> Removing BUNDLED WITH version in the Gemfile.lock
remote: -----> Compiling Ruby/Rails
remote:
remote: !
remote: ! There was an error parsing your Gemfile, we cannot continue
remote: !
remote: ! [!] There was an error parsing `Gemfile`: Undefined local variable or method `_1' for Gemfile. Bundler cannot continue.
remote: !
remote: ! # from /tmp/build_6681cf5c/Gemfile:22
remote: ! # -------------------------------------------
remote: ! # dependencies.any? { _1.name == gem_name }
remote: ! # -------------------------------------------
remote: ! . Bundler cannot continue.
Все работает нормально локально, и я использовал тот же код в нескольких других приложениях Rails, и развертывание никогда не было проблемой.
Из-за ошибки Undefined local variable or method '_1' for Gemfile.
Я предполагаю, что Ruby версия <2.7 используется при запуске <code>bundle install. Само приложение отлично работает на Ruby 2.7.1:
$ heroku run "ruby -v"
Running ruby -v on ⬢ myapp... up, run.7979 (Free)
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
Здесь есть еще несколько подобных вопросов, касающихся SO, но все они связаны с Heroku, не соблюдающим версию Ruby, установленную в Gemfile. или. ruby -версия, что для меня не проблема, просто во время bundle install
кажется, что по какой-то причине используется другая Ruby версия ...
Есть ли способ для дальнейшей отладки или принудительно Ruby 2.7 даже во время bundle install
при развертывании?