我正在尝试将mongo
gem用于数据迁移rake任务。我不想将它添加到整个项目的Gemfile
,因此可以从这个单一的rake任务中使用它。如何仅为该rake任务动态地将mongo
添加到捆绑包中?
我尝试过使用Bundler::Injector::inject
,但我需要bundle install
。如果我在任务中运行它,则捆绑器已经初始化,因此require 'mongo'
仍然失败。我应该做些什么来重新加载捆绑包,还是实际上有一种干净的方法呢?
答案 0 :(得分:1)
使用:require => false
:
gem "mongo", :require => false
这将允许bundler安装它并设置加载路径,但它实际上不会加载gem。
在您的佣金任务中,只需require "mongo"
即可在需要时加载它。