Trong một số dự án mà không gọi toàn bộ đường ray ngăn xếp, thêm rdoc đến Gemfile là chìa khóa dẫn đến thành công cho tôi:
group :development, :test do
gem 'rake', '~> 0.9.2.2'
gem "rdoc", '~> 3.12'
end
UPDATE: Đây vẫn bugging tôi với một 3.0.x ray dự án. Rakefile, đá quý tất cả dường như ok nhưng tôi vẫn nhận được vấn đề. Để tìm hiểu chính xác nơi các cảnh báo wacoming từ tôi đặt một con chim hoàng yến trong đá quý/cào-0.9.2.2/lib/cào/rdoctask.rb:
if Rake.application
begin
raise 'where am i'
rescue
puts [email protected]
end
Rake.application.deprecate('require \'rake/rdoctask\'', 'require \'rdoc/task\' (in RDoc 2.4.2+)', __FILE__)
end
này ngay lập tức đã chỉ ra vấn đề này trong các đường ray ngăn xếp riêng của mình. Một kiểm tra nhanh chóng và rõ ràng là đường ray 3.0.8 có đầy đủ các yêu cầu cho rake/rdoctask. Đang cập nhật lên đường ray (3.0.9 hoặc cao hơn tôi tin) sẽ khắc phục sự cố (hoặc bạn có thể hạ cấp cào như những người khác đã đề xuất).
Nhưng trong khi bạn đang mắc kẹt trên ~ 3.0.8 và không muốn hạ cấp cào, bạn có thể ngăn chặn các cảnh báo bằng cách thiết lập ignore_deprecate trong Rakefile của bạn:
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
Babylon::Application.load_tasks
Tại sao ngăn chặn cảnh báo? Động lực chính của tôi là đảm bảo các công việc cron gọi rake không đăng nhập và xuất ra email giả mạo.
Tôi vẫn đang chiến đấu với vấn đề này với một số dự án. Với tất cả những điều hiển nhiên được quan tâm (rdoc vv) nó vẫn còn làm tôi thất vọng. Tôi mạnh mẽ nghi ngờ một số đá quý trong dự án .. nhưng theo dõi vấn đề xuống là một vấn đề. Có ai biết làm thế nào để có được ruby / cào để báo cáo vị trí mã chính xác của bất cứ điều gì gây ra CẢNH BÁO? – tardate