我正在尝试将rails应用程序推送到heroku。
当我到达最后一步时:
git push heroku master
它不起作用并给我这些错误:
Counting objects: 85, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (74/74), done.
Writing objects: 100% (85/85), 24.38 KiB, done.
Total 85 (delta 23), reused 0 (delta 0)
-----> Heroku receiving push
! Heroku push rejected, no Rails or Rack app detected.
error: hooks/pre-receive exited with error code 1
To git@heroku.com:smooth-dusk-26.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:smooth-dusk-26.git'
我不知道我做错了什么:(
答案 0 :(得分:8)
这是我从Heroku得到的答案,它对我有用(在尝试了不同的pg宝石,适配器以及其他10篇关于此事的其他内容之后)
1)添加行: 宝石'pg' 到您的Gemfile。
2)运行命令bundle install
将gem安装到您的包中。
3)暂停Gemfile和Gemfile.lock更改: git add Gemfile Gemfile.lock
4)提交更改: git commit -m“安装pg gem”
5)重新部署到heroku: git push heroku master
答案 1 :(得分:7)
创建Rails应用程序时,是否将目录更改为应用程序的目录?您必须从应用程序的目录中执行所有命令。
rails myapp
cd myapp
答案 2 :(得分:3)
我在Michael Hartl Rails Tutorial的第1章遇到了同样的错误。在打开Heroku帐户并配置SSH密钥后,最终通过发出另一个git commit命令来解决它们: git commit -a -m“Heroku重新发送”
git push heroku master 然后成功。
答案 3 :(得分:2)
我在尝试将我的应用程序推送到heroku时遇到了同样的问题,上述答案都没有修复。
我通过用rvm gemset empty
清空我的RVM Gemset解决了这个问题,删除了我的Gemfile.lock(可能最好重命名)并重新安装我的宝石。在此之后推动工作正常。
答案 4 :(得分:2)
对我来说,修复它的是index.php的存在。 Heroku似乎检查了pre-commit上是否存在index.php。
答案 5 :(得分:1)
在Windows下按照ror网站上的一个指南获得了相同的问题。在完成像http://devcenter.heroku.com/articles/quickstart这样的所有事情后,它就解决了。
似乎问题是因为缺少两行。
cd myapp
git init
答案 6 :(得分:1)
另外,如果您使用的是Rails 3.0,请确保使用雪松堆
heroku create --stack cedar
答案 7 :(得分:0)
我浏览了Rails教程并且没有Heroku(MAC OS X)的单一问题,但您必须遵循指示。
首先,确保添加/提交给Git。然后,如果你在-b(分支)中,你需要签出到master,然后合并分支。如果您对资产进行了更改,则需要rake asset:precompile。
如果您遇到问题,请确保您拥有此文件=> config.ru和内容应该是这样的。
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
run SampleApp::Application
我对Rails和Heroku相对较新,但正如我上面提到的,如果你按照教程的指示,Heroku是一个快速的方向,方向肯定是有效的。如果没有,我强烈建议您从那里开始!