繁体   English   中英

如何在Rails项目的rake任务中使用外部(对于bundler)util gem

[英]How to use external (for bundler) util gem with rake tasks of rails project

我正在尝试在Rails项目中集成备份gem(github.com/backup/backup)。 不建议在Gemfile中使用备份gem,因此我尝试通过capistrano任务安装它。 我在lib / rasks / backup.rake路径中执行任务,其中包含以下内容:

namespace :backup do
  desc "Perfom Backup"
  task :perform do
    %x{ backup perform -t beam_bank -c config/Backup/config.rb }
  end
end

但是执行该任务会导致错误:

micron-l% rake backup:perform
/home/space/.gem/ruby/2.2.0/gems/bundler-1.10.6/lib/bundler/rubygems_integration.rb:292:in `block in replace_gem': backup is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
    from /home/space/.gem/ruby/2.2.0/bin/backup:22:in `<main>'

在Gemfile中添加“ gem'backup',require:false”会导致一些依赖冲突。 因此,我们认为在当前情况下,使用Gemfile不适当。

我非常感谢解决这个问题的想法...预先感谢..

答案是:

使用捆绑程序帮助程序在干净的环境中运行脚本。 在这种情况下,可以执行以下操作:

Bundler.clean_system('backup perform -t beam_bank -c config/Backup/config.rb')

关于此问题的文档参考: http : //bundler.io/v1.10/man/bundle-exec.1.html#Shelling-out

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM