Ruby Jekyll中的运行时依赖项与开发依赖项

Ruby Jekyll中的运行时依赖项与开发依赖项,ruby,rubygems,jekyll,Ruby,Rubygems,Jekyll,必须将以下依赖项添加到gempec文件中,以提供jekyll项目: json -v '2.3.0' nokogiri -v '1.10.9' nokogumbo -v '2.0.2' jaro_winkler -v '1.5.4' 这些依赖项中哪些应归类为运行时依赖项?哪些应归类为开发依赖项? 如何确定给定的依赖项是运行时依赖项还是开发依赖项? gempec文件中的特定行如下所示: s.add_runtime_dependency 'aaaaa-aa-aaaa', '~> x.x'

必须将以下依赖项添加到
gempec
文件中,以提供
jekyll
项目:

json -v '2.3.0'
nokogiri -v '1.10.9'
nokogumbo -v '2.0.2'
jaro_winkler -v '1.5.4'
这些依赖项中哪些应归类为运行时依赖项?哪些应归类为
开发依赖项

如何确定给定的依赖项是
运行时依赖项
还是
开发依赖项

gempec
文件中的特定行如下所示:

  s.add_runtime_dependency 'aaaaa-aa-aaaa', '~> x.x'  
  s.add_development_dependency 'bbbb-bbbbb', '~> y.y'  
整个
gempec
文件的外观如下:

Gem::Specification.new do |s|
  s.name          = ''
  s.version       = ''
  s.license       = ''
  s.authors       = ['', '']
  s.email         = ['']
  s.homepage      = ''
  s.summary       = ''
  s.files         = `'
  end

  s.platform = Gem::Platform::RUBY
  s.add_runtime_dependency 'aaaaa-aa-aaaa', '~> x.x'
  s.add_development_dependency 'bbbb-bbbbb', '~> y.y'
end  

这是在运行AmazonLinux2的AmazonEC2实例上运行的

因为问题是关于一个Jekyll主题(打包为gem),我们可以很有把握地说,这里的主要应用程序是一个依赖于这个gem的Jekyll应用程序。这方面没有硬性规定,但就gem而言,可以合理地说Jekyll应用程序环境是“运行时”。因此,gem在Jekyll应用程序中使用它时所依赖的任何东西都是运行时依赖项。至少,哲基尔主题将取决于哲基尔本身的某些特定版本,也可能取决于其他一些东西

这里有一个简洁的说法。如果没有您提到的这些gem,
jekyll build
失败,那么它们是运行时依赖项

开发依赖项用于仅在开发gem时需要的额外gem,例如rspec或rubocp