我刚刚将我的应用程序升级到 Rails 6.0,现在无法推送到 Heroku。
我的推送显示此错误:
remote: ! Push rejected, failed to compile Ruby app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to aloop-staging.
remote:
但是,如果我在 Heroku 上的活动日志中查看,它会说:
-----> Installing node-v8.10.0-linux-x64
-----> Detecting rake tasks
!
! Could not detect rake tasks
! ensure you can run `$ bundle exec rake -P` against your app
! and using the production group of your Gemfile.
! Activating bundler (2.0.2) failed:
! Could not find 'bundler' (2.0.2) required by your /tmp/build_c16174fa21307792629df435f91cd5ae/Gemfile.lock.
! To update to the latest version installed on your system, run `bundle update --bundler`.
! To install the missing version, run `gem install bundler:2.0.2`
! Checked in 'GEM_PATH=/tmp/build_c16174fa21307792629df435f91cd5ae/vendor/bundle/ruby/2.6.0', execute `gem env` for more information
!
! To install the version of bundler this project requires, run `gem install bundler -v '2.0.2'`
!
/app/tmp/buildpacks/19b20846a186a4065aa6710b809d0c465ff7a2235264402d06b5038f9562c56867a32c308dd2410d96108925a9f9fed74b5ef871dd6514a3a3a5485da3f442cf/lib/language_pack/helpers/rake_runner.rb:106:in `load_rake_tasks!': Could not detect rake tasks (LanguagePack::Helpers::RakeRunner::CannotLoadRakefileError)
ensure you can run `$ bundle exec rake -P` against your app
and using the production group of your Gemfile.
Activating bundler (2.0.2) failed:
Could not find 'bundler' (2.0.2) required by your /tmp/build_c16174fa21307792629df435f91cd5ae/Gemfile.lock.
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.0.2`
Checked in 'GEM_PATH=/tmp/build_c16174fa21307792629df435f91cd5ae/vendor/bundle/ruby/2.6.0', execute `gem env` for more information
To install the version of bundler this project requires, run `gem install bundler -v '2.0.2'`
from /app/tmp/buildpacks/19b20846a186a4065aa6710b809d0c465ff7a2235264402d06b5038f9562c56867a32c308dd2410d96108925a9f9fed74b5ef871dd6514a3a3a5485da3f442cf/lib/language_pack/ruby.rb:885:in `rake'
然而,这很奇怪,因为在我的Gemfile.lock
中它说:
RUBY VERSION
ruby 2.6.3p62
BUNDLED WITH
2.0.2
当我做ruby -v
和bundler -v
时,这一点得到了证实. 谁能明白为什么这种推动被拒绝?
事实证明,我必须更新构建包:
heroku buildpacks:set heroku/ruby
在这个过程的后期仍然有问题,但这似乎解决了那个特定问题。