Ruby on rails 4 升级到rails 4后覆盖rake任务失败
我正在尝试将我的应用程序从rails 3.2.18升级到rails 4.0,但rake出现了一个问题 我有一个自定义doc.rake任务,该任务覆盖doc:app,其中包含以下代码,在rails 3上运行良好:Ruby on rails 4 升级到rails 4后覆盖rake任务失败,ruby-on-rails-4,rake,yard,Ruby On Rails 4,Rake,Yard,我正在尝试将我的应用程序从rails 3.2.18升级到rails 4.0,但rake出现了一个问题 我有一个自定义doc.rake任务,该任务覆盖doc:app,其中包含以下代码,在rails 3上运行良好: # Replace Rails' rake doc:app with ours, which uses yardoc Rake::Task["doc:app"].clear.enhance do # Uses .yardopts_app file in rails roo
# Replace Rails' rake doc:app with ours, which uses yardoc
Rake::Task["doc:app"].clear.enhance do
# Uses .yardopts_app file in rails root
app_dir = 'doc/generated/app'
sh "rm -rf #{app_dir}"
sh "bundle exec yardoc --plugin rails --yardopts .yardopts_app"
app_doc_files_dir = "#{app_dir}/doc-files"
Dir.mkdir( app_doc_files_dir )
cp_r( 'doc/files/app/doc-files/.', app_doc_files_dir )
end
升级rails后,我尝试运行的任何rake任务都会失败,并出现以下错误:
rake aborted!
Don't know how to build task 'doc:app'
我真的不知道为什么会这样。我找不到任何关于rails 4删除默认doc:app任务的引用,因此它应该仍然存在,以便我覆盖 我通过添加
require 'rails/tasks'
到我的耙子的顶部。因此,我的完整rake文件现在如下所示:
require 'rdoc/task'
require 'rails/tasks'
Rake::Task["doc:app"].clear
namespace :doc do
RDoc::Task.new('app') do |rdoc|
...
end
end
我也有同样的问题。奇怪的是,它不是在每台机器上都可以复制的。我的开发机器工作正常,但是我在登台服务器上遇到了这个错误。都运行ruby 2.1.1p76和rails 4.1。