# command_line_usage.rdoc

Path: | doc/command_line_usage.rdoc
Last Update: | Mon Jun 15 12:14:33 -0500 2009

# Rake Command Line Usage

Rake is invoked from the command line using:

       % rake [<em>options</em> ...]  [<em>VAR</em>=<em>VALUE</em>]  [<em>targets</em> ...]

Options are:

`name=value`
  Set the environment variable name to value during the execution of the rake command. You can access the value by using ENV[‘name’].
`—classic-namespace` (-n)
  Import the Task, FileTask, and FileCreateTask into the top-level scope to be compatible with older versions of Rake. Alternatively you can include the line `require ‘rake/classic_namespace‘` in your Rakefile to get the classic behavior.
`—describe` pattern (-D)
  Describe the tasks (matching optional PATTERN), then exit.
`—dry-run` (-n)
  Do a dry run. Print the tasks invoked and executed, but do not actually execute any of the actions.
`—execute` code (-e)
  Execute some Ruby code and exit.
`—execute-print` code (-p)
  Execute some Ruby code, print the result, and exit.
`—execute-continue` code (-p)
  Execute some Ruby code, then continue with normal task processing.
`—help` (-H)
  Display some help text and exit.
`—libdir` directory (-I)
  Add directory to the list of directories searched for require.
`—nosearch` (-N)
  Do not search for a Rakefile in parent directories.
`—prereqs` (-P)
  Display a list of all tasks and their immediate prerequisites.
`—quiet` (-q)
  Do not echo commands from FileUtils.
`—rakefile` filename (-f)
  Use filename as the name of the rakefile. The default rakefile names are `rakefile` and `Rakefile` (with `rakefile` taking precedence). If the rakefile is not found in the current directory, `rake` will search parent directories for a match. The directory where the Rakefile is found will become the current directory for the actions executed in the Rakefile.
`—rakelibdir` rakelibdir (-R)
  Auto-import any .rake files in RAKELIBDIR. (default is ‘rakelib’)
`—require` name (-r)
  Require name before executing the Rakefile.
`—rules`
  Trace the rules resolution.
`—silent (-s)`
  Like —quiet, but also suppresses the ‘in directory’ announcement.
`—system` (-g)
  Use the system wide (global) rakefiles. The project Rakefile is ignored. By default, the system wide rakefiles are used only if no project Rakefile is found. On Unix-like system, the system wide rake files are located in $HOME/.rake. On a windows system they are stored in $APPDATA/Rake.
`—no-system` (-G)
  Use the project level Rakefile, ignoring the system-wide (global) rakefiles.
`—tasks` (-T)
  Display a list of the major tasks and their comments. Comments are defined using the "desc" command.
`—trace` (-t)
  Turn on invoke/execute tracing. Also enable full backtrace on errors.
`—usage` (-h)
  Display a usage message and exit.
`—verbose` (-v)
  Echo the Sys commands to standard output.
`—version` (-V)
  Display the program version and exit.

In addition, any command line option of the form VAR=VALUE will be added to the environment hash `ENV` and may be tested in the Rakefile.

[Validate]