为什么在将rails应用程序推送到heroku之前需要“捆绑安装”?

时间:2013-05-13 12:16:29

标签: ruby-on-rails ruby-on-rails-3 heroku bundler

我认为无论如何捆绑都会发生在heroku服务器上。在本地机器上执行此操作的目的是什么?

4 个答案:

答案 0 :(得分:1)

这将更新您的Gemfile.lock,即heroku用于在您的虚拟服务器上安装所有宝石。 Gemfile.lock包含有关您的宝石及其各自版本的所有信息。

答案 1 :(得分:1)

bundle install

这可确保Gemfile中指定的所有gem及其依赖项都可用于您的应用程序。运行bundle install还会生成一个Gemfile.lock文件,该文件应该添加到您的git存储库中。 Gemfile.lock确保您在Heroku上部署的gems版本与开发计算机上本地安装的版本匹配。

  

如果Gemfile的平台部分包含Windows条目,   例如mswin或mingw,那么Gemfile.lock文件将被忽略。

Heroku还使用该文件自动解析和安装应用程序依赖项。你需要做的就是推动它。

请参阅此链接:Click Here

答案 2 :(得分:1)

它有两个目的:

  1. 它可以确保您在计算机上满足应用程序的所有依赖关系;
  2. 它会更新Gemfile.lock文件。虽然Gemfile包含了应用程序宝石的列表,但Gemfile.lock有一个更详细的版本,有宝石自己的依赖项,它们的版本限制......它基本上是一个快照您的项目依赖项。这样,您在制作中的应用程序将使用完全相同的第三方代码版本,就像您在本地的代码一样。

答案 3 :(得分:0)

这可确保Gemfile中指定的所有gem及其依赖项都可用于您的应用程序。运行bundle install还会生成一个Gemfile.lock文件,应该添加到您的git存储库中。 Gemfile.lock确保您在Heroku上部署的gems版本与开发计算机上本地安装的版本匹配。

来源:https://devcenter.heroku.com/articles/bundler