2012-01-02 12 views
6

Po prostu ostrzegam: Jestem noobem na szynach.Szyny: jak mogę rozwiązać problem "rake/rdoctask" jest przestarzałe?

Kiedy biegnę:

rake db:migrate 

mam to ostrzeżenie Deprecation:

WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead. 
    at /Users/username/Code/rails/appname/rake/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/rdoctask.rb 

używam:

  • Rails 3.0.1
  • Rake 0.9.2.2
  • RSpec 2.0.1
  • rdoc 3,12

Jeśli odinstalować grabie 0.9.2.2 i używać 0.8.7 nie ma ostrzeżenie, ale raczej nie ma co liczyć, że w roztworze.

Po przeszukiwaniu google wiele witryn mówi, że muszę zaktualizować linię w moim Rakefile (zasadniczo zmieniając wymaganie "rake/rdoctask", aby wymagało "rdoc/task"). Jednak mój Rakefile wygląda następująco:

require File.expand_path('../config/application', __FILE__) 
require 'rake' 

AppName::Application.load_tasks 

Nie ma wymaganego oświadczenia do zastąpienia. Kiedy dodaję wymaganie "rdoc/task", nie ma ono żadnego efektu. Gdy przeszukuję projekt dla wycofanego "rake/rdoctask", nie ma wyników. Dlaczego więc szyny narzekają?

edit: Nie wiem, czy to ważne, ale tu jest mój gemfile:

source 'http://rubygems.org' 

gem 'rails', '3.0.1' 
gem 'sqlite3-ruby', :require => 'sqlite3' 

group :development, :test do 
    gem 'rspec-rails', '2.0.1' 
    gem 'annotate-models', '1.0.4' 
end 

group :test do 
    gem 'rspec', '2.0.1' 
    gem 'webrat', '0.7.1' 
    gem 'spork', '0.8.4' 
end 
+0

wypróbuj 'pakiet exec rake db: migrate' – clyfe

+0

pakiet exec rake db: migrate daje mi to samo ostrzeżenie. – user2393462435

+0

To ostrzeżenie często występuje po GEM, który nie ładuje się lub nie jest prawidłowo zapakowany. Czy masz jakieś oświadczenia wymagające w swoich migracjach, czy mógłbyś opublikować swój Gemfile? Aktualizacja: przepraszam, długa noc ... właśnie zobaczyłem oświadczenia wymagające w twoim OP – ScottJShea

Odpowiedz

7

Uwaga ta jest ustalona później Szyny wersje 3.0.x (np Rails 3.0.9).

Poprawka nie znajduje się w pliku Rake, ale raczej w pliku wspomnianym w błędzie; to tylko powiadomienie o ogólnym celu:

if Rake.application 
    Rake.application.deprecate('require \'rake/rdoctask\'', 'require \'rdoc/task\' (in RDoc 2.4.2+)', __FILE__) 
end 

Jest to jednak powiązane z czymś innym; patrz this.

+0

Gdzie to położyłeś? W pliku Rakefile? – Marc

+0

@Marc Nie umieściłem go nigdzie; to jest linia, która drukuje ostrzeżenie :) –

+0

Oh sorry. Źle zrozumiałem post. Dzięki! – Marc

2

to moja Rakefile

require File.expand_path('../config/application', __FILE__) 
require 'rake' 
require 'rake/testtask' 
require 'rdoc/task' 

# add this (and perhaps make it conditional on Rails.version if you like): 
Rake.application.options.ignore_deprecate = true 

myapp::Application.load_tasks 

że pracuje dla zgłoszenia błędów.

Powiązane problemy