【问题标题】:Difference between Gemfile and Gemfile.lock in Ruby on Rails [duplicate]Ruby on Rails 中 Gemfile 和 Gemfile.lock 之间的区别 [重复]
【发布时间】:2013-09-03 12:33:36
【问题描述】:

我是 Ruby on Rails 的初学者,我正在使用 Rails4

Rails 中的 Gemfile 和 Gemfile.lock 有什么区别?

【问题讨论】:

    标签: ruby-on-rails gemfile


    【解决方案1】:

    Gemfile 包含运行 bundle install 后将包含在项目中的 gem。您可以对它们进行分组,并指定它们的来源(从哪里获取它们)和版本/分支。

    Gemfile.lock 由bundler 生成,包含所有实际安装的 gem 及其版本的列表,包括所有依赖项。

    【讨论】:

      【解决方案2】:

      Gemfile 存储您要为项目安装的软件包列表,以及在哪里可以找到它们以及要使用哪个版本的可选信息。如果您没有Gemfile.lock,bundler 将使用来自Gemfile 的信息并找到可以安装的包和版本以满足所有依赖关系。

      然后生成Gemfile.lock 以存储bundle install 使用的包及其版本(在解决依赖关系之后)。如果有人再次调用bundle install,bundler 会检查Gemfile.lock 是否是最新的,如果是,bundler 会使用Gemfile.lock 中的版本来安装gem。

      Gemfile 用于存储您想要使用的所需包,Gemfile.lock 存储与最后一个bundle install 一起使用的所有包名称和版本,它们应该可以在部署或其他开发人员的机器上运行(因为它们是与您在开发中使用的版本相同)。

      请参阅文档:http://bundler.io/v1.3/man/bundle-install.1.htmlhttp://bundler.io/v1.3/man/bundle-update.1.html。另请查看有关部署的部分。

      更新

      也在相关问题中:What is the difference between Gemfile and Gemfile.lock in Ruby on Rails

      【讨论】:

        猜你喜欢
        • 2011-10-19
        • 1970-01-01
        • 2017-02-10
        • 2018-06-29
        • 2014-07-02
        • 1970-01-01
        • 1970-01-01
        • 2019-05-02
        • 1970-01-01
        相关资源
        最近更新 更多