推送到Heroku时解析Gemfile时出错

时间:2019-06-17 16:21:14

标签: ruby-on-rails ruby heroku rubygems

我在Heroku中有一个现有的Rails应用程序,正在尝试将其推送到该位置,但是每次我尝试将其推送到Heroku时,都会出现此错误

There was an error parsing your Gemfile, we cannot continue
remote:  !     /app/tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/vendor/ruby/heroku-18/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)
remote:  !     from /app/tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/vendor/ruby/heroku-18/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
remote:  !     from /tmp/d20190617-88-bonyg7/bundler-2.0.1/bin/bundle:23:in `<main>'

从那里,我认为最突出的是:

There was an error parsing your Gemfile, we cannot continue
can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)

我的Gemfile.lock指出我的应用已与2.0.2捆绑在一起

当我做gem list时,捆绑器零件会给我这个bundler (default: 2.0.2, default: 1.17.2)

感谢您的帮助!谢谢!

编辑: 这是我的宝石文件

source 'https://rubygems.org'
ruby '2.6.3'

gem 'bootsnap', require: false
gem 'devise'
gem 'jbuilder', '~> 2.0'
gem 'pg', '~> 0.21'
gem 'puma'
gem 'rails', '5.2.3'
gem 'redis'

gem 'autoprefixer-rails'
gem 'font-awesome-sass', '~> 5.6.1'
gem 'sassc-rails'
gem 'simple_form'
gem 'uglifier'
gem 'webpacker'
gem 'bundler'

gem 'material-sass', '4.1.1'

gem 'cloudinary'
gem 'carrierwave'

group :development do
  gem 'web-console', '>= 3.3.0'
end

group :development, :test do
  gem 'pry-byebug'
  gem 'pry-rails'
  gem 'listen', '~> 3.0.5'
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
  gem 'dotenv-rails'
end

1 个答案:

答案 0 :(得分:2)

这里的问题是Heroku无法使用您要求他使用的捆绑软件。当您要求Heroku使用他们知道的捆绑软件时,可以使用许多解决方案对其进行修复(据我所知,2.0.2不起作用)。

打开Gemfile.lock并在文件末尾替换

BUNDLED WITH
2.0.2

使用

BUNDLED WITH
2.0.1

要长期解决此问题,您只需gem uninstall bundler然后运行gem install bundler -v 2.0.1