2012-01-02 34 views
6

बस एक forewarning: मैं एक रेलगाड़ी नोब हूँ।रेल: मैं 'रेक/रोडोडास्क' को कैसे हल कर सकता हूं 'चेतावनी को हटा दिया गया है?

जब मैं चलाएँ:

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

    rake db:migrate 
    

    मैं इस प्रतिवाद चेतावनी मिलती है

  • आरएसपीसी 2.0.1
  • RDoc 3,12

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

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

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

AppName::Application.load_tasks 

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

संपादित करें: यह मायने रखता है, लेकिन यहाँ मेरी 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

'बंडल निष्पादन रेक डीबी का प्रयास करें: माइग्रेट करें – clyfe

+0

बंडल निष्पादन रेक डीबी: माइग्रेट मुझे एक ही चेतावनी देता है। – user2393462435

+0

यह चेतावनी अक्सर एक जीईएम का पालन करती है जो लोड करने में विफल रहता है या ठीक से पैक नहीं किया जाता है। क्या आपके पास माइग्रेशन में कोई आवश्यकता है या आप अपनी जेमफाइल पोस्ट कर सकते हैं? अद्यतन: क्षमा करें, लंबी रात ... बस आपके ओपी – ScottJShea

उत्तर

7

नोट इस में तय हो गई है बाद में रेल 3.0.x संस्करणों (जैसे, रेल 3.0.9)।

फ़िक्स शीर्ष-स्तर Rakefile में नहीं है बल्कि त्रुटि में उल्लिखित फ़ाइल में है; यह सिर्फ एक सामान्य उद्देश्य अधिसूचना है:

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

यह वास्तव में कुछ और से संबंधित है; this देखें।

+0

में आवश्यक बयानों को देखा आपने इसे कहां रखा? Rakefile में? – Marc

+0

@Marc मैंने इसे कहीं भी नहीं रखा; यही वह पंक्ति है जो चेतावनी प्रिंट करती है :) –

+0

ओह क्षमा करें। मैंने पोस्ट को गलत समझा। धन्यवाद! – Marc

2
इस

मेरी 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 

कि बग अधिसूचना के लिए कार्य करती है।