2016-08-04 70 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