Bundler Conflict при нажатии на Heroku - PullRequest
3 голосов
/ 26 июня 2019

Я пытаюсь развернуть приложение Sinatra в Heroku.Все работает локально.Однако у меня возникает проблема с упаковщиком, когда я пытаюсь успешно передать его в Heroku.

Я пытался удалить блокировку Gemfile, а затем следующее

bundle update
git add .
git push "Gemfile.lock"
git push heroku master
gem install bundler:2.0.1
bundle install
git add .
git push "Gemfile.lock"
git push heroku master
bundle update --bundler
git add .
git push "Gemfile.lock"
git push heroku master

Вот мой гемфайл

source "https://rubygems.org"

# gem "rails"
gem 'sinatra'
gem 'activerecord', '~> 5.2', '>= 5.2.2.1'
gem 'rake'
gem 'sinatra-activerecord'
gem 'require_all'
gem 'bcrypt'
gem 'rack-flash3'
gem 'rb-readline'

group :development, :test do
 gem 'sqlite3'
 gem 'shotgun'
 gem 'pry'
end

group :production do
 gem 'pg'
end

Вот сообщения об ошибках

remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rack
remote: -----> Using Ruby version: ruby-2.5.5
remote: -----> Installing dependencies using bundler 2.0.2
remote:        Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
remote:        Activating bundler (2.0.1) failed:
remote:        Could not find 'bundler' (2.0.1) required by your /tmp/build_77505ef74596fc4dddd66c8b792d759b/Gemfile.lock.
remote:        To update to the latest version installed on your system, run `bundle update --bundler`.
remote:        To install the missing version, run `gem install bundler:2.0.1`
remote:        Checked in 'GEM_PATH=vendor/bundle/ruby/2.5.0', execute `gem env` for more information
remote:        
remote:        To install the version of bundler this project requires, run `gem install bundler -v '2.0.1'`
remote:        Bundler Output: Activating bundler (2.0.1) failed:
remote:        Could not find 'bundler' (2.0.1) required by your /tmp/build_77505ef74596fc4dddd66c8b792d759b/Gemfile.lock.
remote:        To update to the latest version installed on your system, run `bundle update --bundler`.
remote:        To install the missing version, run `gem install bundler:2.0.1`
remote:        Checked in 'GEM_PATH=vendor/bundle/ruby/2.5.0', execute `gem env` for more information
remote:        
remote:        To install the version of bundler this project requires, run `gem install bundler -v '2.0.1'`
remote: 
remote:  !
remote:  !     Failed to install gems via Bundler.
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !   Push rejected to infinite-waters-69714.
remote: 
To https://git.heroku.com/infinite-waters-69714.git
 ! [remote rejected] master -> master (pre-receive hook declined)

Кроме того, я попытался полностью удалить sqlite3 и повторить вышеописанные процессы.

Есть идеи как это исправить?

1 Ответ

3 голосов
/ 26 июня 2019

Я столкнулся с этой проблемой некоторое время назад: я связался с Heroku, и они сказали мне, что у них есть заблокированная версия Bundler, поэтому вы можете использовать только версию Bundler, которую они используют:

gem uninstall bundler
gem install bundler -v 2.0.2
bundle update
...