部署到Heroku时出现错误。

5
请帮忙。我完全不知道出了什么问题。Rails应用程序在我的本地机器上能够正常运行。
如果我这样做:
git push heroku master

我理解的是:

Counting objects: 4195, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3944/3944), done.
Writing objects:  72% (3009/4178), 9.99 MiB | 73 KiB/s
Compressing objects: 100% (3944/3944), done.
**Connection to 10.46.xxx.xxx closed by remote host.KiB/s   
error: pack-objects died of signal 13
error: failed to push some refs to 'git@heroku.com:gentle-rain-xxxx.git**

你之前是否曾经将该代码库推送到Heroku? - Alex
你们在同一个网络连接上吗?可能是防火墙的问题。 - Alex
1
很可能你的本地副本与远程不同步。我建议你先尝试 git pull heroku master,然后尝试重新打包 git repack,最后再次尝试推送 git push heroku master - Matthew Rudy
是的,听起来你的 git 仓库可能出了点问题。 - Pete
当我将一个Merb应用程序推送到Heroku时,我遇到了相同的问题。 - Esenbek Kydyr uulu
4个回答

5
我刚刚度过了24小时的煎熬。我重新克隆仓库、删除应用程序、重新打包、修剪...做了所有可能的尝试。
结果发现,我有一个大约250MB大小的.txt文件,即使我从主分支中删除了它,它仍然存在于我的本地(以及github)缓存中。
我查看了这个页面,并意外地在这里找到了答案: https://help.github.com/articles/remove-sensitive-data 之前,.txt文件曾经在doc/文件夹中,所以我把这个命令指向了文件在任何提交中可能存在的位置,然后运行了它。
git filter-branch --index-filter 'git rm --cached --ignore-unmatch doc/US.txt'

如果你意识到某些静态资源不必放在代码仓库中,且它们导致你出现信号13错误,那么这个功能非常有用。


我有一个充满AI文件的设计文件夹需要检入。我需要使用-r标志:git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch /design' - superluminary

3
我遇到了一个只有130MB的仓库问题。我不想修剪我的仓库,也不觉得有必要这么做。
我无法不认为这是git和/或Heroku的问题,我相信一个大推送应该成功,即使在“慢”或不理想的连接下也是如此。
我解决/解决这个问题的方法是启动一个EC2实例,在那里检出我的repo,并推送到github。通过这种方式,我的部署速度为4MiB/s(比我自己的80KiB/s快!)。此外,在由于某些配置问题而导致推送失败的情况下,我可以快速进行调整并重试。
有关此技术的更多信息,请参阅我编写的完整步骤,以了解如何为此目的启动EC2实例:http://omegadelta.net/2013/06/16/pushing-large-repositories-to-heroku/

1
嗨,我遇到了尝试推送到cedar堆栈的相同问题。我联系了heroku支持团队,他们已经修复了。这是他们的回复:
据看来,这是由于我们的git服务器发生了变化导致的。我将与我们的工程师跟进,确保我们能够为此提供一个永久解决方案。 -Chris

1

看起来这只是由于您的推送过大而导致的超时。

我通过对 SHA 进行 git 重置,将其回退到大约 500 次提交之前,然后推送该提交,最后再推送我的整个仓库来解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接