Ruby on rails 在Rails 4.1.5和Ruby 2.1.1p76上,自定义Rake任务中止
我有一个定制的rake任务来评估Rails最佳实践和Brakeman项目,如下所示:Ruby on rails 在Rails 4.1.5和Ruby 2.1.1p76上,自定义Rake任务中止,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有一个定制的rake任务来评估Rails最佳实践和Brakeman项目,如下所示: namespace :evaluate do desc 'Evaluate project for best practices!' task :best_practices do path = File.expand_path("../../../", __FILE__) sh "rails_best_practices #{path}" end desc 'Evaluate
namespace :evaluate do
desc 'Evaluate project for best practices!'
task :best_practices do
path = File.expand_path("../../../", __FILE__)
sh "rails_best_practices #{path}"
end
desc 'Evaluate project with brakeman'
task :brakeman do
sh "brakeman -q -z"
end
desc 'Evaluate everything'
task :everything => [:brakeman, :best_practices]
end
在$rake evaluate时:任务成功完成Brakeman,但在rails\u最佳实践步骤中中止,跟踪如下:
Command failed with status (14): [rails_best_practices /Users/admin/projects...]
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/file_utils.rb:54:in `block in create_shell_runner'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/file_utils.rb:45:in `call'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/file_utils.rb:45:in `sh'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/file_utils_ext.rb:37:in `sh'
/Users/admin/projects/bubblin/lib/tasks/security.rake:5:in `block (2 levels) in <top (required)>'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/admin/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:201:in `block in invoke_prerequisites'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:199:in `each'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:199:in `invoke_prerequisites'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:178:in `block in invoke_with_call_chain'
/Users/admin/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/Users/admin/.rvm/gems/ruby-2.1.1/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/Users/admin/.rvm/gems/ruby-2.1.1/bin/rake:23:in `load'
/Users/admin/.rvm/gems/ruby-2.1.1/bin/rake:23:in `<main>'
/Users/admin/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
/Users/admin/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'
我感觉这与我的Gemfile有关,但无法确定问题所在。是什么导致了此rake任务的“创建shell运行程序中的阻塞”问题
提前谢谢 请检查/Users/admin/projects/bubblin/lib/tasks/security.rake:5中是否没有错误,因为此文件显示在跟踪中。security.rake中的第5行是sh rails_最佳实践{path}。我想您是建议将tasks文件夹从它自己的rake中排除,是吗?