我有以下问题:
我正在尝试在heroku上部署我的项目,但是在我运行
之后git push heroku master
我得到以下内容:
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'
我已多次运行bundle install
和bundle update
,我尝试从存储库和文件系统中删除Gemfile.lock
。但我仍然得到同样的信息。谁能告诉我我做错了什么?
我想要推送的分支是从主人那里克隆出来的。
答案 0 :(得分:21)
很少有事情
bundle install
。git add .
或者您只能使用此git add Gemfile.lock
现在做git push heroku
它应该有效。
答案 1 :(得分:6)
在您的开发机器上运行
rm -rf .bundle && bundle install && git add Gemfile.lock && git commit -m "Added Gemfile.lock"
然后部署。
答案 2 :(得分:5)
很可能您的Gemfile.lock未提交到您的存储库。使用git st
并确保提交Gemfile.lock;检查你的.gitignore文件,确保你不会无意中忽略它。
答案 3 :(得分:2)
检查你的.gitignore文件,如果你把Gemfile.lock放在那里,摆脱那一行并运行这个命令:
git add Gemfile.lock
git commit -m "Added Gemfile.lock"
git push
git push heroku
答案 4 :(得分:0)
它告诉你需要推送一个Gemfile.lock - 这就是Heroku知道你的应用程序使用的gems版本的方式。在本地捆绑后,提交生成的Gemfile.lock,然后将应用程序推送到Heroku。
答案 5 :(得分:0)
我遇到了这个问题,我忘记了bundle install
之后和git& Heroku一切顺利
不要忘记git remote
序列将是:
bundle install
heroku create
git init
git add *
git remote
git commit -a -m "First init"
git push heroku master
我认为这是完整的
答案 6 :(得分:0)
只需从.gitignore
中删除/Gemfile.lock
即可
答案 7 :(得分:0)
您还需要检查.hgignore文件,并删除Gemfile.lock行