task :do_something do
  return if some_condition?
  do_job
end

というように条件に合致しない時に returnを使って処理を抜けようとするとこんなエラーになります。

LocalJumpError: unexpected return

これは rake task がメソッドではなくブロックだから起きるので next を使ってやりましょう。それで抜けれます。

task :do_something do
  next if some_condition?
  do_job
end

ちなみにnextは気持ち悪いんのでせめてbreakを使いたいと思ったんですが、それだと

LocalJumpError: break from proc-closure

になってしまいます。

参考

[ruby – How do I return early from a rake task? – Stack Overflow][1]