如何自动为特定文件夹中的所有文件请求gem?

时间:2016-09-03 19:21:09

标签: ruby

我想在文件夹中的3个不同文件中自动要求宝石,而不是在每个文件中手动输入require'gem_name'。我怎么能这样做呢?

2 个答案:

答案 0 :(得分:1)

您应该查看Bundler

  1. 安装Bundler:gem install bundler
  2. 为您的项目创建Gemfile(在Project_Root \ Gemfile中):

    source 'https://rubygems.org'
    gem 'gem_you_need'
    gem 'another_gem'
    
  3. 确保已安装gem:在项目根目录中运行bundle install

  4. 在任何需要宝石的文件中,让Bundler加载它们:

    require 'rubygems'
    require 'bundler/setup'
    
  5. 这样做的另一个好处是它还可以为您提供依赖关系管理,让您可以跨环境正确管理gem版本。

    Bundler documentation中有更多细节。

答案 1 :(得分:0)

以下是一个示例,说明了您可能采用的一种方式。

文件gems.rb包含一行需要Awesome Print gem:

require 'ap'

第二个文件包含:

require_relative 'gems.rb'

class T
  def t
   ap [1,2,[3,[4,5]]]
  end
end

T.new.t
[
    [0] 1,
    [1] 2,
    [2] [
        [0] 3,
        [1] [
            [0] 4,
            [1] 5
        ]
    ]
]

要求gems.rb中的所有宝石,并使用requirerequire_relative的宝石开始文件。