rake -T 无法显示我的任务

rake -T cannot show my tasks

Rakefile:

require "bundler/gem_tasks"
require "workers/access_token_worker"
require 'dotenv'

Dotenv.load

task :default => 'access_token:refresh'

namespace :access_token do
  task :refresh do
    AccessTokenWorker.work(ENV['WECHAT_APP_ID'], ENV['WECHAT_APP_SECRET'])
  end
end

耙-T:

rake build          # Build wechat-0.1.0.gem into the pkg directory
rake install        # Build and install wechat-0.1.0.gem into system gems
rake install:local  # Build and install wechat-0.1.0.gem into system gems without network access
rake release        # Create tag v0.1.0 and build and push wechat-0.1.0.gem to Rubygems

好吧,它不会来,因为你没有使用任何描述。使用 desc 添加说明,如下所示:

$ cat Rakefile
namespace :access_token do
  desc "some tasks"
  task :refresh do
  end
end
$ rake -T
rake access_token:refresh  # some tasks

现在,如果我删除 desc,它就不会出现。再看看:

$ cat Rakefile
namespace :access_token do
  task :refresh do
  end
end
$ rake -T
$ rake -P
rake access_token:refresh

但是,即使您没有添加 descrake -P 也会列出。

-P, --prereqs -> 显示任务和依赖项,然后退出。

-T, --tasks [PATTERN] -> 显示任务(匹配可选 PATTERN)和描述,然后退出。