为什么'bundler gem'将'rake'和'rspec'添加到 Gemfile 而不是 .gemspec 文件中作为开发依赖项?



我对Ruby世界不是很熟悉。Java构建工具通常使用测试范围来表示jUnit之类的东西。

我用命令初始化了一个新项目:bundle gem new_gem_from_bundlerGemfile的内容是

source "https://rubygems.org"
# Specify your gem's dependencies in new_gem_from_bundler.gemspec
gemspec
gem "rake", "~> 12.0"
gem "rspec", "~> 3.0"

为什么不呢:

group :development do
gem "rspec", "~> 3.9.0"
gem "rake", "~> 3.0"
end

另外,由于有一个.gemspec文件,我希望rakerspec

定义如下:
spec.add_development_dependency 'rake', '~> 12.0'
spec.add_development_dependency 'rspec', '~> 3.0'

为什么将它们声明为常规的"gem"依赖项?

Bundler 使用模板文件来创建新 Gem。您可以根据需要更改模板文件Gemfile.tt和 newgem.gemspec.tt。例如,您可以使用以下Gemfile.tt

source "https://rubygems.org"
# Specify your gem's dependencies in <%= config[:name] %>.gemspec
gemspec

要查找模板文件的位置,您可以使用以下 shell 命令:

find $(dirname $(gem which -g bundler)) -name Gemfile.tt

相关内容

  • 没有找到相关文章

最新更新