[英]Run imported rake task with bundle
我正在嘗試導入並運行放置在Gemfile中的rake任務
我運行了bundle install
,它在那里找到了包含我的rake任務的已安裝gem 。 但是,當我運行bundle exec rake <namespace>:<task>
,則得到此輸出而不是成功:
Don't know how to build task 'forum2discourse:import_punbb'
/usr/local/rvm/gems/ruby-2.0.0-p0-turbo/bin/ruby_noexec_wrapper:14:in `eval'
/usr/local/rvm/gems/ruby-2.0.0-p0-turbo/bin/ruby_noexec_wrapper:14:in `<main>'
(See full trace by running task with --trace)
似乎未找到任務 。 我應該如何指示bundle install
以便找到任務 ?
根據rake任務導入手冊 (@Daiku提供)。 在Rakefile中 ,您可以枚舉項目中所需的所有gem,然后嘗試導入這些gem中導出的所有rake任務(如果有),如下所示:
Gem::Specification.all.each do |spec|
Dir.glob('**/*.rake').each {|file| load file }
end
嘗試:
$ rake -T
我嘗試安裝的Gem尚未發布,因此添加
gem 'forum2discourse'
Gemfile
還不夠。 我不是想通過檢出倉庫來解決此問題,然后在全球范圍內安裝Gem
? 使用sudo bundle install <gem>
。 bundle install
然后停止抱怨沒有所需的gem,但是它不會暴露gem中的任務。 但是,在gem定義中具有指向github存儲庫的鏈接可解決此問題:
gem 'forum2discourse', github: 'initforthe/forum2discourse'
Ruby是不可思議的:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.