【问题标题】:Ruby Rake load tasks from a gemRuby Rake 从 gem 加载任务
【发布时间】:2013-03-04 23:29:48
【问题描述】:

我一直在尝试将位于 github 上的 gem 包含到我当前的应用程序中。 gem 有一个 rake 文件,我希望能够从我的应用程序访问该文件。但我不断收到加载错误。

load 'tasks/deploy.rake'

gem 文件看起来像这样

# -*- encoding: utf-8 -*-
require 'rake'

Gem::Specification.new do |gem|
  gem.authors       = %w(Hello World)
  gem.email         = %w(test@example.com)
  gem.description   = 'test'
  gem.summary       = 'test'
  gem.homepage      = 'https://github.com/..'
  gem.files         = FileList[ 'lib/**/*.rb', 'tasks/deploy.rake', 'README.md' ].to_a
  gem.name          = 'test'
  gem.require_paths = %w(lib)
  gem.version       = '0.0.1'
end

我希望能够将 ./tasks/deploy.rake 加载到包含此 gem 的应用程序中,我该怎么做?

谢谢

【问题讨论】:

    标签: ruby include load rake


    【解决方案1】:

    好的,如果有人感兴趣,我找到了解决此问题的方法:

    # Rails.root/Rakefile
    
    spec = Gem::Specification.find_by_name 'test'
    load "#{spec.gem_dir}/tasks/deploy.rake"
    

    这就是我需要在我的 Rakefile 中说的全部内容!

    【讨论】:

    • 对我来说也可以将require '<gem name>/rake_tasks' 放入应用程序的 Rakefile(不是 gem)
    • @SergXIIIth 这取决于 gem 的结构。例如,sitemap_generatorrequire 'sitemap_generator/tasks'padrinorequire 'padrino-core/cli/rake' 等等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 2011-02-04
    • 2013-02-18
    相关资源
    最近更新 更多