当我运行bundle init
开始一个新项目时,我得到一个标准的Gemfile:
# A sample Gemfile
source "https://rubygems.org"
# gem "rails"
如何自定义此内容?
我的目标是在默认情况下包含的几乎所有项目中使用一些gems
。
我在bundle init文档中看到它可以与--gemspec=FILE
选项一起使用,但有没有办法自定义仅使用bundle init
时显示的默认版本?
答案 0 :(得分:4)
你有正确的想法。我有一个我喜欢使用的模板,它看起来像这样:
〜/ .gemspec_template
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
答案 1 :(得分:3)
bundle init
在当前工作目录中生成Gemfile
$ bundle init [--gemspec=FILE]
选项:
--gemspec
:使用指定的.gemspec创建Gemfile Init 在当前工作目录中生成默认的Gemfile。什么时候 使用gemspec将gem文件添加到gem中, - gemspec选项将 自动将gemspec文件中列出的每个依赖项添加到 新创建的 Gemfile 。
bundle init
所做的就是从模板生成 Gemfile , gemspec 。
如果您想拥有默认的宝石列表,只需定义 gemspec 模板,将其用作'默认'。
然后就像
一样使用它$ bundle init --gemspec=~/.default
您甚至可以为其定义别名
#note the lack of a space in the alias name
$ alias bundleinit='bundle init --gemspec=~/.default'
然后像
一样使用它$ bundleinit