【发布时间】:2013-12-26 14:32:40
【问题描述】:
我将我的应用程序从 rails2 升级到 rails3。现在每次我运行一个任务我都会得到这个错误:
➜ cimm git:(master) ✗ ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin13.0.0]
➜ cimm git:(master) ✗ rails -v
Rails 3.0.20
➜ cimm git:(master) ✗ bundle exec rake sitemaps:servicos --trace
** Invoke sitemaps:servicos (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute sitemaps:servicos
/Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/test/unit.rb:167:in `block in non_options': file not found: sitemaps:servicos (ArgumentError)
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/test/unit.rb:146:in `map!'
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/test/unit.rb:146:in `non_options'
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/test/unit.rb:207:in `non_options'
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/test/unit.rb:52:in `process_args'
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/minitest/unit.rb:891:in `_run'
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/minitest/unit.rb:884:in `run'
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/test/unit.rb:21:in `run'
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/test/unit.rb:326:in `block (2 levels) in autorun'
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/test/unit.rb:27:in `run_once'
from /Users/netto/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/test/unit.rb:325:in `block in autorun'
如果我使用 Rspec,我不知道为什么要加载有关测试单元的内容。我尝试更改 rake 版本,更改 require 'rails/all' 但没有解决此问题。
但我的任务已加载,所以这似乎是一种警告。但我想知道如何解决这个问题。
更新 1
这些错误仅在我的任务与模型/控制器交互时出现。
我的 Rakefile:
require File.expand_path('../config/application', __FILE__)
require 'rake'
CIMM::Application.load_tasks
【问题讨论】:
-
rake -T的输出是什么? -
@LeoCorrea 看看我下面的评论。
-
我想一个更好的问题是你在哪里定义任务站点地图:servicos
-
lib/tasks/sitemap.rake 正如我所说.. 任务运行,所以它可以与文件的位置。问题在于测试单元的警告。
-
Gemfile 中有 gem "test-unit",但当前包中没有?
标签: ruby-on-rails ruby ruby-on-rails-3 rake