2016-08-04 46 views
1

珠光宝气开发指南说,Gemfile.lock的文件“应始终检查到版本控制。”然而,这对宝石来说并不是这样。对于应用程序,比如你的Rails应用程序,Sinatra应用程序等等,这是真的。宝石也不一样。为什么我们不承诺我们的宝石Gemfile.lock的?

为了清楚起见,请参阅的.gemspec,Gemfile中,并Gemfile.lock的文件中的角色Yehuda的指导:Clarifying the roles of .gemspec and Gemfile

我不明白他的理由。如果我的宝石取决于说Rails 3并与Rails 4不兼容?难道我需要然后提交我的Gemfile.lock的指定,我的宝石只能使用Rails 3兼容吗?

回答

1

这篇文章是有点过时(〜6岁),但它在事实gemspec将持有的版本控制持有价值。如果您的宝石有一个特定的轨道版本的依赖,你想补充:

s.add_dependency "rails", "3.2" 

当用户试图使用你的宝石在轨道上> 3.2的依赖踢

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

+0

如果我检查=在Gemfile.lock的进入github上和别人拉下来会发生什么?它不会有效地做同样的事情(即,强制用户安装特定版本的宝石?) – Jwan622