Ruby on rails 如何制作';bundle init';默认包含宝石?

Ruby on rails 如何制作';bundle init';默认包含宝石?,ruby-on-rails,ruby,gem,bundler,Ruby On Rails,Ruby,Gem,Bundler,当我运行bundle init启动一个新项目时,我会得到一个标准文件: # A sample Gemfile source "https://rubygems.org" # gem "rails" 如何定制此功能? 我的目标是拥有一些gems,在默认情况下,几乎每个项目都会用到它们 我在文档中看到,它可以与--gempec=FILE选项一起使用,但是有没有一种方法可以自定义仅使用bundle init时出现的默认版本 在当前工作目录中生成一个文件 $ bundle init [--gemsp

当我运行
bundle init
启动一个新项目时,我会得到一个标准文件:

# A sample Gemfile
source "https://rubygems.org"

# gem "rails"
如何定制此功能?

我的目标是拥有一些
gems
,在默认情况下,几乎每个项目都会用到它们

我在文档中看到,它可以与
--gempec=FILE
选项一起使用,但是有没有一种方法可以自定义仅使用
bundle init
时出现的默认版本

在当前工作目录中生成一个文件

$ bundle init [--gemspec=FILE]
选项:

--gempec
:使用指定的.gempec创建Gemfile Init 在当前工作目录中生成默认文件。什么时候 使用gempec将Gemfile添加到gem中,--gempec选项将 自动将gemspec文件中列出的每个依赖项添加到 新创建的Gemfile

bundle init
所做的就是从模板生成一个Gemfile,一个gempec

如果您想拥有一个默认的gem列表,只需定义一个gempec模板,将其用作您的默认值即可

然后像这样使用它

$ bundle init --gemspec=~/.default
$ bundleinit
您甚至可以为它定义一个别名

#note the lack of a space in the alias name
$ alias bundleinit='bundle init --gemspec=~/.default' 
然后像这样使用它

$ bundle init --gemspec=~/.default
$ bundleinit

你的想法是对的。我也有一个我喜欢使用的模板,它看起来像这样:

~/.gempec_模板

Gem::Specification.new do |spec|
  spec.add_development_dependency "bundler", "~> 1.7"
  spec.add_development_dependency "rake", "~> 10.0"
  spec.add_development_dependency "pry"
end
从那里,我只需运行:

bundle init --gemspec=~/.gemspec_template 
我得到一个
Gemfile
,它看起来像:

# Generated from /Users/anthonyross/.gemspec_template
source 'https://rubygems.org'

group :development do
  gem "bundler", "~> 1.7"
  gem "rake", "~> 10.0"
  gem "pry", ">= 0"
end

非常感谢。你能详细解释一下“只需定义一个gemspec模板作为默认模板”是什么意思吗?