बस एक 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
बग सूचना के लिए काम कर रहा है।