25

Rails newbie here. I'm trying to deploy my Rails 3.1/Ruby 1.9.3-p0 app to Heroku and have followed all the steps according to Heroku. But I keep running into:

Heroku push rejected, no Cedar-supported app detected

I've tried all the suggestions in this question but so far unsuccessful.

Community
  • 1
  • 1
ralphos
  • 626
  • 2
  • 10
  • 20
  • I realise I'm running ruby 1.9.3-p0 and followed the steps in http://railsapps.github.com/rails-heroku-tutorial.html but hasn't helped so far. Could it be Heroku and their experimental support for 1.9.3? – ralphos Feb 16 '12 at 04:38
  • No, I run a 1.9.3 app on heroku just fine. How did you create your app on heroku? Did you do: `heroku apps:create myapp --stack cedar` ? – Mitch Dempsey Feb 16 '12 at 04:47
  • Yes I ran `heroku create myapp --stack cedar` – ralphos Feb 16 '12 at 04:50
  • OK I got it working although I wouldn't consider this a fix! I created another sample app with the same gemfile and deployed it to Heroku which worked fine. I then copied all files over from my other app to this new one and pushed it to the same heroku repo.. and it worked! – ralphos Feb 16 '12 at 06:22

7 Answers7

74

I have encountered a similar rejection. What worked for me was reinitializing the .git file.

Try in the command line:

rm -rf .git
git init
git add .
git commit -am "Reinitialize"
heroku create --stack cedar
git push heroku master
Alex Ishida
  • 1,021
  • 8
  • 9
  • 7
    Before you take this drastic step, you might check that you're on the master branch. Heroku ignores non-master branches. If this is your issue, you can either switch to master and deploy from there, or push your non-master branch to heroku's master branch: `git push heroku branch_name:master`. – japhyr Mar 02 '15 at 00:54
  • Great answer, but if you're using PowerShell like me, you'll want `rm -Recurse -Force .git` – Doug Murphy Mar 13 '15 at 21:06
  • 3
    I wouldn't jump straight to smashing your entire repository's history, branches, remotes, etc. Just breathe a minute before you do this. – boztalay May 22 '15 at 14:49
8

I Have just solved this problem with one of my apps. If you check the documentation, the Cedar Stack searches for the Gemfile in the root directory. In my case, the root directory only had the folder containing my app with the Gemfile inside it.

So, what you need to do is to initialize a new git repo inside this folder and add the remote:

$ cd my_app_folder
$ git init
$ git add .
$ git commit -m "Heroku commit"
$ git remote add heroku git@heroku.com:my-app-in-heroku.git
$ git push heroku master

And you're done!

tafuentesc
  • 91
  • 1
  • 3
7

Whenever I encounter this error, I check the following two things:

  • Make sure the Gemfile exist in root directory of Rails application. Heroku use it to determine what type of application to deploy.
  • Make sure the Rails app root directory itself is put under version control (e.g: Git) rather than its parent directory.

If you accidentally put the parent directory of your rails application into version control. Delete the .git directory inside this parent directory and initialize a new repository but this time under the Rails application directory.

Khanh Tran
  • 1,776
  • 5
  • 25
  • 48
5

Try

$ git init
$ git add .
$ git commit -m "Change to something"

Then run

git push heroku master
Chetan
  • 46,743
  • 31
  • 106
  • 145
coletrain
  • 2,809
  • 35
  • 43
3

I have encountered this issue a few time before and it was because I was trying to push a remote branch to heroku.

To solve the problem, instead of using:

git push heroku master

I used:

git push heroku my-branch:master

This pushes the remote branch my-branch in the git repository to the master branch of heroku.

Cory
  • 325
  • 1
  • 5
0

I have the same problem. My file structure was not what heroku expected (.git must be on the same level as Gemfile). I removed the Rails_Code folder and it worked.

Project\
         .git
         Rails_Code\
                     Gemfile
                     etc...
Shehaaz
  • 753
  • 1
  • 7
  • 12
0

Same Situation, Like @petwho said above

"Make sure the Gemfile exist in root directory of Rails application. Heroku use it to determine what type of application to deploy."

In my case, somehow my Gemfiles and Gemfile.lock was being ignored. When I checked on github there was no Gemfile being pushed up with my app due because .gitignore was ignoring my gemfiles.

After removing my gemfiles from gitignore, I pushed to heroku and everything worked smoothly

Mr. Rene
  • 1,167
  • 10
  • 17