/ / रेल्स: मैं 'रेक / रडक्टैस्क' का समाधान कैसे करूँ? - रूबी-ऑन-रेल, रूबी-ऑन-रेल्स -3, आरएसपीईसी, रेक, रडॉक

रेल: मैं 'रेक / रोडोडास्क' को कैसे हल कर सकता हूं 'चेतावनी को हटा दिया गया है? - रूबी-ऑन-रेल, रूबी-ऑन-रेल-3, आरएसपीईसी, रेक, rdoc

बस एक forewarning: मैं एक रेल noob हूँ।

जब मैं दौड़ता हूं:

rake db:migrate

मुझे यह डिप्रेशन चेतावनी मिली:

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

मैं उपयोग कर रहा हूँ:

  • रेल 3.0.1
  • रेक 0.9.2.2
  • RSpec 2.0.1
  • आरडोक 3.12

अगर मैं 0.9.2.2 रेक को अनइंस्टॉल करता हूं और 0.8.7 का उपयोग करता हूं तो कोई चेतावनी नहीं है, लेकिन मैं इसे समाधान के रूप में नहीं गिनता हूं।

Google खोज के बाद, कई साइटों का कहना है कि मुझे अपने Rakefile में एक पंक्ति (मूल रूप से search rake / rdoctask को बदलने के लिए 'd rdoc / task' की आवश्यकता है) को अपडेट करने की आवश्यकता है। हालाँकि, मेरा राकफाइल इस तरह दिखता है:

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

AppName::Application.load_tasks

प्रतिस्थापित करने के लिए कथन की आवश्यकता नहीं है। जब मुझे "rdoc / task" की आवश्यकता होती है, तो इसका कोई प्रभाव नहीं पड़ता है। जब मैं पदावनत "रेक / रडक्टैस्क" के लिए प्रोजेक्ट खोजता हूं, तो कोई परिणाम नहीं होता है। तो रेल क्यों शिकायत कर रही है?

संपादित करें: यकीन नहीं होता अगर यह मायने रखता है, लेकिन यहाँ मेरा रत्न है:

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

उत्तर:

उत्तर № 1 के लिए 7

ध्यान दें कि यह बाद के रेल 3.0.x संस्करणों (उदाहरण, रेल 3.0.9) में तय किया गया है।

फिक्स isn "टॉप लेवल के रेकफाइल में नहीं, बल्कि एरर में बताई गई फाइल में; यह सिर्फ एक सामान्य पहलू है:

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

यह वास्तव में कुछ और से संबंधित है, हालांकि; देखें इस.


जवाब के लिए 2 № 2

यह मेरी रेकफाइल है

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

बग सूचना के लिए काम कर रहा है।