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 installbundle update ,我试图从存储库和我的文件系统中删除Gemfile.lock 。 但我仍然得到同样的信息。 谁能告诉我我做错了什么?

我想要推送的分支是从主人那里克隆出来的。

一些事情

  1. 你在Git中放置了Gemfile.lock吗? 如果是,它是否锁定(意味着更新? – 你做过几次只是仔细检查)
  2. 只需在本地提示符下进行bundle install
  3. 现在放置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