1

Gemfile在和使用中指定第三方库的确切版本有什么区别Gemfile.lock吗?

如果我使用确切的版本,Gemfile它会与分发相同Gemfile.lock吗?

4

2 回答 2

4

不,精确指定Gemfile的 a 和使用 aGemfile.lock是不一样的。

Gemfile可能包括您在特定版本中使用的所有 gem。但它Gemfile.lock还将包括所有与您使用的 gem 相关的 gem。这意味着一个典型的Gemfile.lock将包含更多的宝石Gemfile

此外:您可能有Gemfile彼此不兼容的 gem 或 gem 版本。AGemfile.lock由 bundler 生成,代表一组相互兼容的 gem 版本。如果 bundler 无法满足所有必需的依赖项,那么它将不会生成Gemfile.lock.

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

于 2016-10-17T20:25:06.073 回答
0

如果我将 Gemfile.lock 重命名为 Gemfile,则会bundle install因语法错误而失败。

于 2021-10-13T20:11:53.267 回答