0

我是 Ruby on Rails 的初学者,我正在使用 Rails4

Rails 中的 Gemfile 和 Gemfile.lock 有什么区别?

4

2 回答 2

4

Gemfile 包含运行后将包含在项目中的 gem bundle install。您可以对它们进行分组,并指定它们的来源(从哪里获取它们)和版本/分支。

Gemfile.lock 由生成bundler并包含所有实际安装的 gem 及其版本的列表,包括它们的所有依赖项。

于 2013-09-03T12:49:44.227 回答
2

Gemfile存储您要为项目安装的软件包列表,以及在哪里可以找到它们以及要使用哪个版本的可选信息。如果您没有Gemfile.lock,bundler 将使用来自的信息Gemfile并查找可以安装的包和版本以满足所有依赖项。

Gemfile.lock然后生成以存储包及其使用的版本bundle install(在解决依赖关系之后)。如果有人bundle install再次调用,bundler 检查是否Gemfile.lock是最新的,如果是,bundler 使用版本Gemfile.lock来安装 gems。

Gemfile用于存储您要使用的所需包,Gemfile.lock存储与 last 一起使用的所有包名称和版本bundle install,这应该适用于部署或其他开发人员的机器(因为它们与您在开发中使用的版本相同)。

请参考文档: http: //bundler.io/v1.3/man/bundle-install.1.htmlhttp://bundler.io/v1.3/man/bundle-update.1.html。另请查看有关部署的部分。

更新

同样在相关问题中:Ruby on Rails 中的 Gemfile 和 Gemfile.lock 有什么区别

于 2013-09-03T13:16:00.220 回答