dart run
The
dart run
command supports running
a Dart program—located in a file, in the current package,
or in one of the dependencies of the current package—from the command line.
This command provides functionality that was previously in
pub run
and the Dart VM tool.
To run a program from an arbitrary location,
use the
pub global
command.
dart run [options] [<DART_FILE> | <PACKAGE_TARGET>] [args]
Here's an example of creating a new app and running it:
$ dart create myapp
$ cd myapp
$ dart run
Running a Dart file
#You can run a Dart file by passing its relative path:
$ dart run tool/debug.dart
Running a program that's in a package
#
The instructions in this section assume that
you're executing the
dart run
command
from the directory that's at the top of a Dart package
(the
current package).
For information on the directory structure of Dart packages, see
package layout conventions.
In a depended-on package
#
You can run programs that are
distributed in the
bin
directory of any package
that the current package depends on.
To run such a program,
specify the depended-on package name and the program name.
You can omit the program name if it's the same as the package name.
For example, say you're in the top directory of a package
that depends on the
bar
package.
To run the main program that's in the
bar
package (bin/bar.dart
),
you can use this command:
$ dart run bar
If the program name doesn't match the package name,
use the form
<package name>:<program name>
. For example,
to run the program
bin/baz.dart
that's in the
bar
package,
use this command:
$ dart run bar:baz
The
bin
directory is the only place with visible programs.
All other directories in the depended-on package are private.
In the current package
#
When the current directory matches the package name
(that is, you're in the directory that matches
the
name
property in the pubspec),
then you can omit the package name.
If the program name matches the package name
(that is, it's the main program),
then you can also omit the program name.
Here's the shortest form of
dart run
,
which runs the main program for the current package.
For example, if you're in the top directory of the
foo
package,
this command runs
bin/foo.dart
:
$ dart run
If the program name doesn't match the package name,
then add a colon and the program name.
For example, this command runs
bin/baz.dart
in the current package:
$ dart run :baz
To run a program that's in the current package but not in the
bin
directory,
pass a relative path (as shown before):
$ dart run tool/debug.dart
Supplying arguments to main()
#
To supply
arguments to the main()
function,
put them at the end of the command:
$ dart run tool/debug.dart arg1 arg2
When you're running the main program for the current package,
add the package name.
Here's an example of running
bin/foo.dart
with arguments
while you're in the top directory of the
foo
package:
$ dart run foo arg1 arg2
Debugging
#
To enable debugging,
add one or more of these common debugging options
to your
dart run
command:
-
To enable
assert
statements, add the--enable-asserts
flag:console$ dart run --enable-asserts tool/debug.dart
-
To enable debugging and performance analysis through Dart DevTools, add the
--observe
flag:console$ dart run --observe tool/debug.dart
To learn more about debugging with Dart DevTools, see Using DevTools with a command-line app.
To learn more about other debugging options, run dart run --help
.
Enabling experimental features
#To enable new features and enhancements that are currently in development, use experiment flags.
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2024-12-10. View source or report an issue.