具有精确版本的Gemfile与Gemfile.lock

时间:2016-10-17 20:06:24

标签: ruby rubygems bundler gemfile gemfile.lock

Gemfile中使用Gemfile.lock和使用Gemfile指定第三方库的确切版本之间是否有任何区别?

如果我在Gemfile.lock中使用确切版本,那么它与分发onKeyDown()是否相同?

1 个答案:

答案 0 :(得分:4)

不,确切指定Gemfile且使用Gemfile.lock的情况并不相同。

您的Gemfile可能包含您使用特定版本的所有宝石。但Gemfile.lock还将包含所有宝石,这些宝石都是您使用的宝石的依赖项。这意味着典型的Gemfile.lock会在Gemfile时包含更多宝石。

此外:您的Gemfile可能包含彼此不兼容的宝石或宝石版本。捆绑器生成Gemfile.lock,表示一组彼此兼容的gem版本。如果bundler无法满足所有必需的依赖关系,那么它将不会生成Gemfile.lock

这就是说:由于您的应用的版本要求,您需要固定Gemfile中需要固定的版本。让bundler找到有效的组合并检查Gemfile.lock到版本控制系统。