Rails Heroku Gemfile.lock error - push rejected (open source) - ruby-on-rails

I am trying to push my open source RoR application to Heroku but I'm having an issue making the initial push. I have read many similar questions, but none of those answers has helped to solve my problem. I have tried bundle update and bundle install various times. I also have tried removing and then re-committing my Gemfile.lock file, however I get this same error still...
$ git push heroku master
Counting objects: 5199, done.
Compressing objects: 100% (3086/3086), done.
Writing objects: 100% (5199/5199), 4.57 MiB | 131 KiB/s, done.
Total 5199 (delta 3418), reused 3152 (delta 1962)
-----> Removing .DS_Store files
-----> Ruby app detected
-----> Compiling Ruby/NoLockfile
!
! Gemfile.lock required. Please check it in.
!
! Push rejected, failed to compile Ruby app
To git#heroku.com:frozen-springs-4725.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:frozen-springs-4725.git'
Since my application uses MongoDB with MongoMapper, I suspect that I have some configuration incorrect. My code can be found here on Github (I'm currently working on the heroku branch). Feel free to clone our repository and try it yourself.
If anyone has any insight which could help me resolve this issue I would be very thankful!

Or better just run
git push heroku heroku:master
This will push your heroku branch to the master branch on heroku, which is the one heroku use's (Heroku ignores everything but the master branch).

Please read this article first.
Branches pushed to Heroku other than master will be ignored by this command. If you’re working out of another branch locally, you can either merge to master before pushing, or specify that you want to push your local branch to a remote master. To push a branch other than master, use this syntax:
$ git push heroku yourbranch:master

Related

Pushing to Heroku fails because it wont detect my app type/buildpack

I am trying to push the first version of a Ruby on Rails app to Heroku.
When I run git push heroku master the errors I get are:
remote: -----> Failed to detect app matching no buildpack
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/myapp'
Since no buildpack was detected, I tried to set it manually. When I run heroku buildpacks I get Buildpack URL heroku/ruby, but I still get the same error.
I checked this solution and my gemfile is present, my ruby version in the gemfile is defined and my gemfile.lock has the railties gem.
Heroku logs just regurgitate the errors above so it wasn't helpful
Any suggestions for what else my be wrong?
Did you try putting the putting ruby version number on top of the GemFile.
ruby '<your ruby version>'
the following line above should be at the top of gemfile. Also make sure you have Gemfile and Gemfile.lock files committed, those will be checked upon pushed to heroku servers.
Did you commit the app to the Git Index?
The Gemfile and Gemfile.lock are probably indexed but not yet commited.
You need to have the rails project at the root. If it's not, Heroku will not know the entry point.
So this: somefolder/my_rails_app will not work.

Heroku Push Fails

When I push to heroku, it tells me that it fails to install gems with bundler and then it fails:
Git error: command `git fetch --force --quiet --tags 'git#github.com:holgersindbaek/streama.git' "refs/heads/*:refs/heads/*"` in directory /tmp/build_2e6gwsce8rtbt/vendor/bundle/ruby/1.9.1/cache/bundler/git/streama-bb31e974eacf3e56d77c4899ae1e3687c8245251 has failed.
If this error persists you could try removing the cache directory '/tmp/build_2e6gwsce8rtbt/vendor/bundle/ruby/1.9.1/cache/bundler/git/streama-bb31e974eacf3e56d77c4899ae1e3687c8245251'
!
! Failed to install gems via Bundler.
!
! Heroku push rejected, failed to compile Ruby/rails app
To git#heroku.com:afternoon-spring-7047.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:afternoon-spring-7047.git'
It suggest that I remove the stream-chace, but I have no idea where that is.
Has anyone tried this before?
I'm on Rails 3.2.2, running MongoDB with Mongoid.
UPDATE:
I'm using ruby 1.9.3, so I think it's a bit funny it points me to a ruby 1.9.1 folder. Don't know if that has anything to do with it?
You're using the private git link for that repository:
git#github.com...
rather than:
git://github.com...
Because the Heroku shell isn't authorized to "privately" clone that GitHub repository, attempting to run bundle install on Heroku will fail. Change that link to the public clone URL.

Heroku deploy "Invalid RUBY_VERSION specified", worked yesterday

I was able to deploy to heroku yesterday just fine. We're on the cedar stack with a rails 3.2 application. When I deploy it gives me this:
$ git push -f heroku-ab-staging tmp-heroku-deploy-gochez_heroku_test-2012-05-08-10-43-39:master
Counting objects: 222, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (162/162), done.
Writing objects: 100% (191/191), 112.28 KiB, done.
Total 191 (delta 45), reused 13 (delta 0)
-----> Heroku receiving push
-----> Ruby/Rails app detected
!
! Invalid RUBY_VERSION specified: fatal:-Not-a-git-repository:-'.'-fatal:-Not-a-git-repository:-'.'-fatal:-Not-a-git-repository:-'.'-No-ruby-version-specified
! Valid versions: ruby-1.9.3-p0, ruby-1.9.3-p125, rbx-1.2.4, rbx-2.0.0dev-20120115-1.9, rbx-2.0.0dev-20120115-1.8, rbx-2.0.0dev-20120123-1.9, rbx-2.0.0dev-20120123-1.8, ruby-1.9.2-p290, jruby-1.6.5.1, jruby-1.6.7, ruby-1.9.3, ruby-1.9.2
!
! Heroku push rejected, failed to compile Ruby/rails app
To git#heroku.com:myapp.git
! [remote rejected] tmp-heroku-deploy-gochez_heroku_test-2012-05-08-10-43-39 -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:myapp.git'
(Note that I changed my real app's name to myapp for privacy concerns)
Any idea what might be causing this? It was working just fine yesterday. What debugging can I perform to figure out what the issue is?
We changed the undocumented API you were using and released official version ruby support: http://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku/ You'll now need to use Bundler 1.2.0 +. Let me know if you have questions.

rails 3 heroku push master issue

when I push my rails 3 app git heroku master I get this error msg:
-----> Heroku receiving push
-----> Rails app detected
! Heroku Bamboo does not include any Rails gems by default.
! You'll need to declare it in either .gems or Gemfile.
! See http://docs.heroku.com/gems for details on specifying gems.
! Heroku push rejected, no Rails gem specified.
error: hooks/pre-receive exited with error code 1
To git#heroku.com:glowing-rain-62.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git#heroku.com:glowing-rain-62.git'
I have gem 'rails', '3.0.3' specified in my gemfile, so I am not sure what the issue is....If anyone could help I would really appreciate it. Thanks..
Don't forget that Gemfile is case sensitive. Make sure the file is actually IN your repo. You should also have a Gemfile.lock file too. Which version of bundler are you running?
Have you successfully deployed to Heroku before?
If not you may want to double-check that rails, 3.0.3 is committed to your Git repo just as a sanity check...
I think the problem might be connected with the heroku server type (or idiomatically: stack). The normal stack (called Aspen, I think) is runned by Debian Etch which doesn't support newer versions of Rails (i.e. Rails 3) and neither Sinatra.
To solve the problem you can switch to the Bamboo stack which is runned by Debian Lenny. You can do it by switching the stack as followed:
heroku create yourname --stack bamboo-mri-1.9.2
"yourname" is of course the name of your application. After that it should work as it should.

push rails app to heroku

I am trying to push a rails application to heroku.
When I get to the last step:
git push heroku master
It doesn't work and gives me these errors:
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'
I don't know what I'm doing wrong :(
Here's the answer I got from Heroku and it worked for me (after trying different pg gems, adapters, and everything else on the 10 other posts about this)
1) add the line:
gem 'pg'
to your Gemfile.
2) Run the command bundle install to install the gem into your bundle.
3) Stage the Gemfile and Gemfile.lock changes:
git add Gemfile Gemfile.lock
4) Commit the changes:
git commit -m "Install the pg gem"
5) Redeploy to heroku:
git push heroku master
When you created your Rails application, did you change directory into the directory of the application? You have to perform all the commands from within the application's directory.
rails myapp
cd myapp
I encountered the same errors working through Chapter 1 of Michael Hartl's Rails Tutorial. They were eventually resolved by issuing another git commit command after opening a Heroku account and configuring the SSH keys: git commit -a -m "Heroku recommit"
git push heroku master then succeeded.
I just had the same problem trying to push my app to heroku and none of the above answers fixed it.
I solved the issue by emptying my RVM Gemset with rvm gemset empty, deleting my Gemfile.lock (probably best to just rename it) and reinstalling my gems. Pushing worked fine after this.
For me it was the presence of index.php that fixed it. Heroku seems to check for existence of index.php on pre-commit.
Got the same problem under windows following one of the guides on ror site. After making everything like here http://devcenter.heroku.com/articles/quickstart it was solved.
Seems like problem was because of missing two lines.
cd myapp
git init
Also, if you're on Rails 3.0 make sure you use the cedar stack
heroku create --stack cedar
I went through the Rails Tutorial and didn't have a single problem with Heroku (MAC OS X), but you do have to follow the directions.
First, make sure you add/commit to Git. Then if you're in a -b (branch) you need to checkout into master, then merge the branch. If you've made changes to assets, you need to rake asset:precompile.
If you're having a rack up issue, make sure you have this file => config.ru and the contents should look like this.
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
run SampleApp::Application
I'm relatively new to Rails and Heroku, but as I mentioned above, if you're following the tutorial's directions, Heroku is a snap and the directions most definitely work. If not, I highly recommend getting started there!
enter link description here

Resources