问题
I have the following issue:
I'm trying to deploy my project on heroku but after i run
git push heroku master
I get the following:
git push heroku master -f
Counting objects: 524, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (498/498), done.
Writing objects: 100% (524/524), 157.76 KiB, done.
Total 524 (delta 207), reused 62 (delta 2)
-----> Heroku receiving push
-----> Ruby/Rails app detected
!
! Gemfile.lock is required. Please run "bundle install" locally
! and commit your Gemfile.lock.
!
! Heroku push rejected, failed to compile Ruby/rails app
To git@heroku.com:*****.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:*****.git'
I have run bundle install
and bundle update
for several times, i tried to delete Gemfile.lock
from the repository and from my filesystem. But i still get the same message. Can anyone tell me what am i doing wrong?
The branch i'm trying to push is cloned from master.
回答1:
Few things
- Did you placed Gemfile.lock in git? if yes, is it lock (means updated? - you did several times just double check)
- Just do
bundle install
on your local prompt. - now place Gemfile.lock
git add .
or you can add only Gemfile.lock with thisgit add Gemfile.lock
- git commit -m "commit message here"
- git push
Now do git push heroku
it should work.
回答2:
On your development machine run
rm -rf .bundle && bundle install && git add Gemfile.lock && git commit -m "Added Gemfile.lock"
Then deploy.
回答3:
Most likely your Gemfile.lock is not committed to your repository. Use git st
and ensure that the Gemfile.lock is committed; check your .gitignore file to make sure that you're not accidentally ignoring it.
回答4:
Check your .gitignore file, if you put Gemfile.lock there, get rid of that line and run this commands:
git add Gemfile.lock
git commit -m "Added Gemfile.lock"
git push
git push heroku
回答5:
It's telling you that you need to push a Gemfile.lock - that's how Heroku knows what versions of gems your application is using. After bundling locally, commit the resultant Gemfile.lock then push the application to Heroku.
回答6:
I had this problem, I forgot the bundle install
After it and git & Heroku everything went OK
Don't forget either the git remote
after writing your code the sequence would be :
bundle install
heroku create
git init
git add *
git remote
git commit -a -m "First init"
git push heroku master
I think it's complete
回答7:
Just remove the /Gemfile.lock
from your .gitignore
回答8:
You also need to check your .hgignore file as well and remove the line Gemfile.lock
来源:https://stackoverflow.com/questions/9605863/heroku-gemfile-lock-is-required-issue