heroku:Gemfile.lock是必需的问题
我有以下问题:
我正在尝试在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
。 但我仍然得到同样的信息。 谁能告诉我我做错了什么?
我想要推送的分支是从主人那里克隆出来的。
一些事情
- 你在Git中放置了Gemfile.lock吗? 如果是,它是否锁定(意味着更新? – 你做过几次只是仔细检查)
- 只需在本地提示符下进行
bundle install
。 - 现在放置Gemfile.lock
-
git add .
或者你可以只用这个git add Gemfile.lock
- git commit -m“在这里提交消息”
- git push
-
现在做git push heroku
它应该工作。
在您的开发机器上运行rm -rf .bundle && bundle install && git add Gemfile.lock && git commit -m "Added Gemfile.lock"
然后部署。
很可能你的Gemfile.lock没有提交到你的存储库。 使用git st
并确保提交Gemfile.lock; 检查你的.gitignore文件,以确保你不会无意中忽略它。
检查你的.gitignore文件,如果你把Gemfile.lock放在那里,摆脱那一行并运行这个命令:
git add Gemfile.lock git commit -m "Added Gemfile.lock" git push git push heroku
它告诉你需要推送一个Gemfile.lock – 这就是Heroku知道你的应用程序使用的gems版本的方式。 在本地捆绑后,提交生成的Gemfile.lock,然后将应用程序推送到Heroku。
我有这个问题,我忘记了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
我认为这是完整的
只需从.gitignore中删除/Gemfile.lock