gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 06:16:31 24 4
gpt4 key购买 nike

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

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

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.ttnewgem.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

关于ruby - 为什么 'bundler gem' 将 'rake' 和 'rspec' 添加到 Gemfile 而不是作为开发依赖项添加到 .gemspec 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62067888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com