我一直在试图部署我的第一个rails应用程序并试图找出所有设置内容的railsstutorial.org。这应该只是一键式的东西,更新到最新的ruby /最新的rails,设置git,你很高兴,但这是一个巨大的头痛。对不起,我不得不发泄。
当我在我的测试应用程序first_app的当前目录中尝试推送到heroku时出现错误:
XXXXXX-Computer:first_app XXXXXX$ git push heroku master
fatal: The remote end hung up unexpectedly
搜索错误导致我https://git.wiki.kernel.org/index.php/GitFaq#Git_push_fails_with_.22fatal:_The_remote_end_hung_up_unexpectedly.22.3F 这表明我的公钥可能无法正确安装。我已经能够推送到git repo并检查我的heroku密钥按预期吐出我的公钥:
XXXXXX-Computer:first_app XXXXXX$ heroku keys
=== 1 key for XXXXXX@gmail.com
ssh-rsa AAAAB3NzaC...u4iGALvQ== XXXXXX@gmail.com
我与教程的唯一不同之处在于我使用的是ruby 1.8.7 / rails 3.03,因为我在使用ruby版本管理器rvm时遇到了一些麻烦。我可以将ruby更新到1.9.2,但是当我去检查rails版本时,我得到了这个:
XXXXXX-Computer:first_app XXXXXX$ rails -v
/Library/Ruby/Site/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
来自/Library/Ruby/Site/1.8/rubygems.rb:214:in activate'
from /Library/Ruby/Site/1.8/rubygems.rb:1082:in
gem'
来自/ usr / bin / rails:18
这是我第一次使用git和rvm,所以如果这是一个基本问题我会道歉。我已经尝试了一段时间,并没有在应该是一件简单的事情上取得那么大的进展。我非常感谢stackoverflow的集体天才可以提供任何帮助。提前谢谢。
答案 0 :(得分:3)
Heroku会告诉你它是否是一个关键问题。这个错误听起来更像是一个git / network问题。
Heroku偶尔会出现推送问题,您可以在此监控:http://status.heroku.com/。当它发生时,你所能做的就是等待,稍后再试。
它也可能是heroku遥控器的配置。您可以发布git remote show heroku
的输出以确定吗?
至于升级,这不应该影响你。 Gems特定于您安装它们的ruby版本,因此如果您升级到1.9,则必须重新安装您的gem。这就是为什么rails在1.9上出错了。
答案 1 :(得分:1)
所以...在任何教程中都没有真正建议它,但是从终端登录到heroku解决了seg故障问题并得到了我的应用程序:
heroku login
Email: ******
Password: ******
git push heroku master
耶!
答案 2 :(得分:0)
您似乎无法在评论中添加代码段,并且无法使用回车键完成新行。现在这个和一个较慢的连接可能导致我发送多个电子邮件通知。
无论如何,感谢您对宝石错误的回应和澄清。这是git remote show的输出:
heroku
origin
和git remote show heroku:
fatal: The remote end hung up unexpectedly
同样的错误。
如果它有帮助,我只是cd到该目录并检查我的.git / config文件并看到:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[remote "origin"]
url = git@github.com:XXXXXX/first_app.git
fetch = +refs/heads/*:refs/remotes/origin/*
[remote "heroku"]
url = git@heroku.com:stark-galaxy-XXX.git
fetch = +refs/heads/*:refs/remotes/heroku/*
检查heroku信息:
XXXXXX-Computer:first_app XXXXXX$ heroku info
=== stark-galaxy-XXX
Web URL: http://stark-galaxy-XXX.heroku.com/
Git Repo: git@heroku.com:stark-galaxy-XXX.git
Dynos: 1
Workers: 0
Stack: bamboo-ree-1.8.7
Addons: Shared Database 5MB
Owner: XXXXXX@gmail.com
我只是尝试删除我的应用,卸载heroku,然后再试一次。我根据http://docs.heroku.com/renaming-apps#manually-updating-a-git-remote手动更新了一个git遥控器:
XXXXXX-Computer:first_app XXXXXX$ git remote rm heroku
XXXXXX-Computer:first_app XXXXXX$ git remote add heroku git@heroku.com:quiet-mountain-XXX.git
并检查它是否被添加:
XXXXXX-Computer:first_app XXXXXX$ git remote -v
heroku git@heroku.com:quiet-mountain-XXX.git (fetch)
heroku git@heroku.com:quiet-mountain-XXX.git (push)
origin git@github.com:XXX/first_app.git (fetch)
origin git@github.com:XXX/first_app.git (push)
但继续得到:
XXXXXX-Computer:first_app XXXXXX$ git remote show heroku
fatal: The remote end hung up unexpectedly
XXXXXX-Computer:first_app XXXXXX$ git push heroku master
fatal: The remote end hung up unexpectedly