我正在分析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)
它是一个规范列表(需要为此项目安装的gems),后面是该规范依赖项的缩进列表。因为每个依赖项都需要安装,所以它们都列为文件中其他地方的规范。(例如,机架列为样本底部的规格,但与靠近顶部的其他两个规格相关)
这个规则的一个例外是
bundler
,哪个列为依赖项,而不是规范。这是为什么?是因为gemfile.lock中没有包含系统级安装的gems吗?或者这是一个特殊情况,因为bundler是生成gemfiles的gem,所以它不包含自己?