【问题标题】:Why don't we commit our gemfile.lock for gems?为什么我们不为 gem 提交 gemfile.lock 呢?
【发布时间】:2016-12-10 18:18:57
【问题描述】:

Gem 开发指南说 Gemfile.lock 文件“应始终检查到版本控制中”。然而,这不适用于宝石。对于应用程序,例如 Rails 应用程序、Sinatra 应用程序等,这是真的。宝石也不一样。

有关说明,请参阅 Yehuda 关于 .gemspec、Gemfile 和 Gemfile.lock 文件角色的指南:Clarifying the roles of .gemspec and Gemfile

我不明白他的理由。如果我的 gem 依赖于 Rails 3 并且与 Rails 4 不兼容怎么办?然后我不需要提交我的 Gemfile.lock ,它指定我的 gem 只与 Rails 3 兼容吗?

【问题讨论】:

    标签: gemfile gemfile.lock


    【解决方案1】:

    这篇文章有点过时了(大约 6 年前),尽管它的优点在于 gemspec 将保持版本控制。如果您的 gem 依赖于特定的 rails 版本,您将添加:

    s.add_dependency "rails", "3.2"
    

    当用户尝试在 Rails > 3.2 上使用您的 gem 时,依赖项就会启动。

    希望能回答您的问题。如果没有,请澄清,我会更新这篇文章。

    【讨论】:

    • 如果我将 gemfile.lock 签入到 github 并且其他人将其拉下会怎样?它不会有效地做同样的事情(即强制用户安装特定版本的 gems 吗?)
    猜你喜欢
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    相关资源
    最近更新 更多