为什么 bundler 是依赖项而不是 Gemfile.lock 中的规范?
Why is bundler a dependency but not a spec in Gemfile.lock?
我正在解析 Gemfile.lock 以创建依赖关系图。文件样本:
rack-ssl (1.3.4)
rack
rack-test (0.6.3)
rack (>= 1.0)
rails (3.2.22.1)
actionmailer (= 3.2.22.1)
actionpack (= 3.2.22.1)
activerecord (= 3.2.22.1)
activeresource (= 3.2.22.1)
activesupport (= 3.2.22.1)
bundler (~> 1.0)
railties (= 3.2.22.1)
rack (1.4.7)
它是一个规范列表(gem 需要为此项目安装),后面是该规范依赖项的缩进列表。因为每个依赖项都需要安装,所以它们都作为规范列在文件的其他地方。 (例如机架在示例底部列为规范,但它依赖于靠近顶部的其他两个规范)
此规则的一个例外是 bundler
,它被列为依赖项而不是规范。为什么是这样?是因为 gem 已经安装在系统级别,但没有包含在 Gemfile.lock 中吗?或者这是一种特殊情况,因为捆绑器是生成 Gemfile 的 gem,所以它不包含自身?
If any of the needed gems are already installed, Bundler will use them. After installing any needed gems to your system, bundler writes a snapshot of all of the gems and versions that it installed to Gemfile.lock
https://bundler.io/rationale.html
bundler
创建了 Gemfile.lock
,它是 bunler
安装的所有依赖项的列表。由于 bundler
不会自行安装,因此不包含在内。它使它成为一个特殊的 gem - 需要安装到 bootstrap 一个 ruby 应用程序。
我正在解析 Gemfile.lock 以创建依赖关系图。文件样本:
rack-ssl (1.3.4)
rack
rack-test (0.6.3)
rack (>= 1.0)
rails (3.2.22.1)
actionmailer (= 3.2.22.1)
actionpack (= 3.2.22.1)
activerecord (= 3.2.22.1)
activeresource (= 3.2.22.1)
activesupport (= 3.2.22.1)
bundler (~> 1.0)
railties (= 3.2.22.1)
rack (1.4.7)
它是一个规范列表(gem 需要为此项目安装),后面是该规范依赖项的缩进列表。因为每个依赖项都需要安装,所以它们都作为规范列在文件的其他地方。 (例如机架在示例底部列为规范,但它依赖于靠近顶部的其他两个规范)
此规则的一个例外是 bundler
,它被列为依赖项而不是规范。为什么是这样?是因为 gem 已经安装在系统级别,但没有包含在 Gemfile.lock 中吗?或者这是一种特殊情况,因为捆绑器是生成 Gemfile 的 gem,所以它不包含自身?
If any of the needed gems are already installed, Bundler will use them. After installing any needed gems to your system, bundler writes a snapshot of all of the gems and versions that it installed to Gemfile.lock
https://bundler.io/rationale.html
bundler
创建了 Gemfile.lock
,它是 bunler
安装的所有依赖项的列表。由于 bundler
不会自行安装,因此不包含在内。它使它成为一个特殊的 gem - 需要安装到 bootstrap 一个 ruby 应用程序。