代码之家  ›  专栏  ›  技术社区  ›  cwd

如何使“bundle init”默认包含gems?

  •  5
  • cwd  · 技术社区  · 9 年前

    当我跑步时 bundle init 要开始一个新项目,我会得到一个标准的Gemfile:

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

    如何自定义此项?

    我的目标是 gems 默认情况下,我几乎在每个项目中都使用它。

    我看到了 bundle init 可以与 --gemspec=FILE 选项,但是否有方法自定义仅使用时显示的默认版本 捆绑包初始化 ?

    2 回复  |  直到 9 年前
        1
  •  4
  •   Anthony    9 年前

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

    ~/.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
    
        2
  •  3
  •   Mihai Dinculescu    9 年前
    bundle init
    

    在当前工作目录中生成Gemfile

    $ bundle init [--gemspec=FILE]
    

    选项:

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

    所有这些 bundle init 是生成 Gemfile公司 从模板 宝石规格 .

    如果您想要一个默认的gem列表,只需定义一个 宝石规格 模板作为您的 '默认' .

    然后像这样使用

    $ bundle init --gemspec=~/.default
    

    您甚至可以为其定义别名

    #note the lack of a space in the alias name
    $ alias bundleinit='bundle init --gemspec=~/.default' 
    

    然后像这样使用

    $ bundleinit