每次我尝试git push heroku master
时,我觉得一切正常,但几个小时之后就失败了。
错误消息是:
$ git push heroku master
Counting objects: 599, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (318/318), done.
remote: fatal: early EOF
Writing objects: 100% (599/599), 552.65 MiB | 56.00 KiB/s, done.
Total 599 (delta 170), reused 585 (delta 163)
error: unpack failed: index-pack abnormal exit
To https://git.heroku.com/foo.git
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'https://git.heroku.com/foo.git'
无法解决错误,每次尝试失败都需要很长时间。
我是第一次部署项目时,如果有更好(和/或更便宜)的东西用于上传rails项目,我也会建议一些建议。这是一个很好的教程,因为我需要使用自定义域名(.com)和所有内容,此时我不确定我该做什么。
我在本教程中使用了heroku: https://devcenter.heroku.com/articles/getting-started-with-rails5
编辑:我第一次尝试上传到heroku时检查过,现在我看到第一次错误不同,从那以后总是出现我之前评论的相同错误。这是第一个错误:
git push heroku master
Counting objects: 580, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (462/462), done.
error: unable to rewind rpc post data - try increasing http.postBuffer
error: RPC failed; result=56, HTTP code = 0
fatal: The remote end hung up unexpectedly | 0 bytes/s
Writing objects: 100% (580/580), 552.65 MiB | 240.00 KiB/s, done.
Total 580 (delta 155), reused 0 (delta 0)
fatal: The remote end hung up unexpectedly
Everything up-to-date
答案 0 :(得分:0)
在您的情况下,git似乎有问题。您可以尝试运行git repack命令或再次克隆存储库,然后部署到Heroku。如果这仍然失败,或许与他们的支持联系是个好主意。
我认为如果您是第一次部署项目,我认为Heroku是最简单的方法,但这是我的看法。将自定义域添加到其中也很容易,您可以查看如何执行此操作here。
答案 1 :(得分:0)
我联系了heroku支持,他们告诉我,我做错了什么。
似乎我的项目文件夹是1,2GB,而.gitignore看起来大约是550MB。在免费帐户中,我最多只能推送500MB。
我按文件夹查看文件夹,文件按文件查看它们使用了多少空间。令人惊讶的是它大约有50MB。
其他500MB到550MB是项目中的隐藏文件,我什么都不知道。也许是git文件,我不知道。
所以我将所有可见文件和文件夹复制到一个新文件夹,我创建了一个新的.gitignore,一个新的git init和一个新的heroku创建。现在主文件夹只有大约150MB,当我想将项目推送到heroku时,它只有49MB。
因此,如果您遇到同样的问题,我会检查您的文件的重量,也许您有大的隐藏文件。它解决了我的问题。
答案 2 :(得分:0)
在gitconfig中添加以下内容为我解决了此问题:
git config http.postBuffer 524288000
这允许将较大的文件推送到给定的存储库。 (我认为)