在Gemfile
中使用Gemfile.lock
和使用Gemfile
指定第三方库的确切版本之间是否有任何区别?
如果我在Gemfile.lock
中使用确切版本,那么它与分发onKeyDown()
是否相同?
答案 0 :(得分:4)
不,确切指定Gemfile
且使用Gemfile.lock
的情况并不相同。
您的Gemfile
可能包含您使用特定版本的所有宝石。但Gemfile.lock
还将包含所有宝石,这些宝石都是您使用的宝石的依赖项。这意味着典型的Gemfile.lock
会在Gemfile
时包含更多宝石。
此外:您的Gemfile
可能包含彼此不兼容的宝石或宝石版本。捆绑器生成Gemfile.lock
,表示一组彼此兼容的gem版本。如果bundler无法满足所有必需的依赖关系,那么它将不会生成Gemfile.lock
。
这就是说:由于您的应用的版本要求,您需要固定Gemfile
中需要固定的版本。让bundler找到有效的组合并检查Gemfile.lock
到版本控制系统。