mojo run
Builds and executes a Mojo file.
Synopsis
mojo run [options] <path> [path-arguments...]Description
Compiles the Mojo file at the given path and immediately executes it. Another way to execute this command is to simply pass a file to mojo. For example:
mojo hello.mojoOptions for this command itself, such as the ones listed below, must appear before the input file path argument. Any command line arguments that appear after the Mojo source file path are interpreted as arguments for that Mojo program.
Options
Compilation options
--optimization-level <LEVEL>, -O, --no-optimization (LEVEL=0)
Sets the level of optimization to use at compilation. The value must be a number between 0 and 3. The default is 3.
-I <PATH>
Appends the given path to the list of directories to search for imported Mojo files.
-D <KEY=VALUE>
Defines a named value that can be used from within the Mojo source file being executed. For example, -D foo=42 defines a name foo that, when queried with the sys.param_env module from within the Mojo program, would yield the compile-time value 42.
--debug-level <LEVEL>, -g (LEVEL=full), -g0 (LEVEL=none), -g1 (LEVEL=line-tables), -g2 (LEVEL=full)
Sets the level of debug info to use at compilation. The value must be one of: none (the default value), line-tables, or full. Please note that there are issues when generating debug info for some Mojo programs that have yet to be addressed.
--num-threads <NUM>, -j
Sets the maximum number of threads to use for compilation. The default is 0 (use all available threads).
--elaboration-error-include-prelude
Show elaboration error with locations in mojo startup modules (prelude).
--elaboration-error-verbose
Show verbose elaboration error with all concrete parameter values where call expansion is failed. Default print only shows simple values (string, integer, float, boolean).
Target options
--target-triple <TRIPLE>
Sets the compilation target triple. Defaults to the host target.
--target-cpu <CPU>
Sets the compilation target CPU. Defaults to the host CPU.
--target-features <FEATURES>
Sets the compilation target CPU features. Defaults to the host features.
--march <ARCHITECTURE>
Sets the architecture for which to generate code.
--mcpu <CPU>
Sets the CPU for which to generate code.
--mtune <TUNE>
Sets the CPU for which to tune code.
Compilation diagnostic options
Controls how the Mojo compiler outputs diagnostics related to compiling and running Mojo source code.
--diagnose-missing-doc-strings
Emits diagnostics for missing or partial doc strings.
--validate-doc-strings
Emits errors for invalid doc strings instead of warnings.
--max-notes-per-diagnostic <INTEGER>
When the Mojo compiler emits diagnostics, it sometimes also prints notes with additional information. This option sets an upper threshold on the number of notes that can be printed with a diagnostic. If not specified, the default maximum is 10.
--disable-builtins
Do not use builtins when create package.
--disable-warnings
Do not print warning messages.
Experimental compilation options
--sanitize <CHECK>
Turns on runtime checks. The following values are supported: address (detects memory issues), and thread (detects multi-threading issues).
--shared-libasan
Dynamically link the address sanitizer runtime. Requires address sanitization turned on with --sanitize option.
--debug-info-language <LANGUAGE>
Sets the language to emit as part of the debug info. The supported languages are: Mojo, and C. C is the default, and is useful to enable rudimentary debugging and binary introspection in tools that don't understand Mojo.
Common options
--diagnostic-format <FORMAT>
The format in which diagnostics and error messages are printed. Must be one of "text" or "json" ("text" is the default).
--help, -h
Displays help information.
--help-hidden
Displays help for hidden options.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!