Heroku-18: Git pu sh терпит неудачу. Показаны разные версии Ruby на push - PullRequest
1 голос
/ 26 февраля 2020

Приношу свои извинения, если это глупый вопрос. Я ничего не знаю о Ruby. Также попробовал несколько решений от SO. Удалось обновить Ruby, разрешить зависимости. Сейчас просто застрял и не смог двигаться вперед. Любая помощь приветствуется. Спасибо.

Когда я пу sh, я получаю ruby v2.2.2, но я только что обновился до 2.5.7, который поддерживается heroku-18. Вот записи CLI:

remote:        Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-18/ruby-2.2.2.tgz -s -o - | tar zxf - ' failed on attempt 1 of 3.
remote:        Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-18/ruby-2.2.2.tgz -s -o - | tar zxf - ' failed on attempt 2 of 3.
remote: 
remote:  !
remote:  !     An error occurred while installing ruby-2.2.2
remote:  !     
remote:  !     This version of Ruby is not available on Heroku-18. The minimum supported version
remote:  !     of Ruby on the Heroku-18 stack can found at:
remote:  !     
remote:  !     https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !   Push rejected to appname-heroku18.
remote: 
To https://git.heroku.com/appname-heroku18.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/appname-heroku18.git'
Mac-Air:appname developer$ ruby -v
ruby 2.5.7p206 (2019-10-01 revision 67816) [x86_64-darwin18]
Mac-Air:appname developer$ heroku run ruby -v
 ›   Error: Multiple apps in git remotes
 ›      Usage: --remote heroku-18
 ›         or: --app appname-heroku18
 ›      Your local git repository has more than 1 app referenced in git 
 ›   remotes.
 ›      Because of this, we can't determine which app you want to run this 
 ›   command against.
 ›      Specify the app you want with --app or --remote.
 ›      Heroku remotes in repo:
 ›      appname (heroku)
 ›   appname-heroku18 (heroku-18)
 ›
 ›      https://devcenter.heroku.com/articles/multiple-environments
Mac-Air:appname developer$ heroku run ruby -v --remote
 ›   Error: Flag --remote expects a value
Mac-Air:appname developer$ heroku run ruby -v --remote heroku
Running ruby -v on ⬢ appname... up, run.1515 (Free)
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
Mac-Air:appname developer$ heroku run ruby -v --remote heroku-18
Running ruby -v on ⬢ appname-heroku18... up, run.1012 (Free)
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
Mac-Air:appname developer$ heroku run ruby -v --app appname-heroku18
Running ruby -v on ⬢ appanme-heroku18... up, run.6356 (Free)
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]

Ответы [ 2 ]

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

у вас есть два приложения на вашем пульте, на которые в данный момент ссылается ваш git. просто укажите имя приложения в вашей команде pu sh.

git push ... --app appname-heroku18
0 голосов
/ 26 февраля 2020

Мне кажется, что вы заблокировали версию Ruby. Вот почему он пытается установить Ruby 2.2.2. По умолчанию он должен просто выбрать стабильную Ruby версию.

Найдите в Gemfile запись для ruby. Там должно быть написано 2.2.2. Либо удалите его, либо заблокируйте версию на 2.5.7.

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