git push heroku master失败,原因是“ HTTP 400 curl 22请求的URL返回错误”

时间:2018-09-03 01:21:30

标签: ruby-on-rails git heroku

我正在尝试仅显示“ hello,world。”的rails应用程序。
然后我遇到了如下错误。
我想知道如何解决这个问题。

  

$ git push heroku master
  枚举对象:完成88个。
  计数对象:已完成100%(88/88)。
  Delta压缩最多使用4个线程。
  压缩对象:已完成100%(73/73)。
  书写对象:100%(88/88),22.29 KiB |已完成1.71 MiB / s。
  总计88(增量2),已重用0(增量0)
  错误:RPC失败; HTTP 400 curl 22请求的URL返回错误:400错误的请求
  致命:远端意外挂断
  一切都是最新的

我的步骤如下。
1.创建如下所示的rails应用程序。
rails new sample
2.修复路由和application_controller以显示世界。 3.更改Gemfile。
3-1。在开发和测试小组中声明sqlite3 gem 'sqlite3'
3-2。在生产组中声明pg gem 'pg', '0.20.0'
4.执行bundle install --without production
5.执行git add .
6.执行git commit -m "initial commit for heroku"
7.确认它是否适用于rails s并访问localhost:3000
8.执行heroku login并输入ID和密码。
9.执行heroku keys:add,并通过此操作创建SSH密钥。
10.执行heroku create
11.执行git push heroku master,然后出现错误

每个程序的版本都在下面。
* Rails 5.1.6
* heroku / 7.14.1 win32-x64节点-v10.9.0

这是什么错误,如何避免此错误?
请告诉我是否需要更多信息。


我在下面添加了我的gem文件。

source 'https://rubygems.org'

# git_source(:github) do |repo_name|
#  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
#  "https://github.com/#{repo_name}.git"
# end

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.6'
# Use Puma as the app server
gem 'puma', '~> 3.7'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

gem 'rails_12factor'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Use sqlite3 as the database for Active Record
  gem 'sqlite3'
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '~> 2.13'
  gem 'selenium-webdriver'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
  gem 'web-console', '>= 3.3.0'
end

group :production do
  gem 'pg', '0.20.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

3 个答案:

答案 0 :(得分:1)

导航到存储库后,运行以下命令将缓冲区增加到500MB:

git config http.postBuffer 524288000

答案 1 :(得分:0)

万一它对任何人都有用,我在推送到Azure时也会遇到同样的错误。原来我已经满足了我的App Service存储配额。 我删除了一堆大文件,问题解决了。

答案 2 :(得分:0)

就我而言,我必须更改远程 URL 以使用 git: 协议而不是 https:,而且我还必须创建公钥。

获取当前网址:

git remote get-url heroku

假设您的网址类似于 https://git.heroku.com/your-repo-here.git,您应该使用此命令来使用 git: 协议:

git remote set-url heroku git@heroku.com:your-repo-here.git

创建公钥:

heroku keys:add

参考链接: