dart run

dart run

Dart 프로그램을 커맨드라인에서 실행해 주는 도구예요. 파일에 있거나, 현재 패키지에 있거나, 현재 패키지의 의존성 중 하나에 있는 프로그램을 실행할 수 있어요.

출처: dart run

본문

dart run 명령은 파일, 현재 패키지, 또는 현재 패키지의 의존성 중 하나에 있는 Dart 프로그램을 커맨드라인에서 실행해요. 이 명령은 이전에 pub run과 Dart VM 도구가 제공하던 기능을 제공해요. 임의의 위치에서 프로그램을 실행하려면 pub global 명령을 사용해요.

dart run [options] [<DART_FILE> | <PACKAGE_TARGET>] [args]

새 앱을 만들고 실행하는 예시를 보여 드릴게요.

$ dart create myapp
$ cd myapp
$ dart run

팁: 이 명령과 다른 dart 명령에 대한 자세한 내용은 Dart 커맨드라인 도구 페이지를 확인해 주세요.

Dart 파일 실행하기

상대 경로를 전달해서 Dart 파일을 실행할 수 있어요.

$ dart run tool/debug.dart

패키지 안에 있는 프로그램 실행하기

이 섹션의 설명은 Dart 패키지의 최상위에 있는 디렉터리(즉 현재 패키지의 최상단)에서 dart run 명령을 실행한다고 가정해요. Dart 패키지의 디렉터리 구조에 대한 정보는 패키지 레이아웃 관례를 확인해 주세요.

의존 중인 패키지 안에서

현재 패키지가 의존하는 패키지의 bin 디렉터리에 배포된 프로그램을 실행할 수 있어요. 그런 프로그램을 실행하려면 의존 중인 패키지 이름과 프로그램 이름을 지정해요. 프로그램 이름이 패키지 이름과 같다면 프로그램 이름은 생략할 수 있어요.

예를 들어 bar 패키지에 의존하는 패키지의 최상위 디렉터리에 있다고 해 볼게요. bar 패키지의 메인 프로그램(bin/bar.dart)을 실행하려면 다음 명령을 사용할 수 있어요.

$ dart run bar

프로그램 이름이 패키지 이름과 일치하지 않으면 <package name>:<program name> 형태를 사용해요. bar 패키지의 bin/baz.dart 프로그램을 실행하려면 다음 명령을 사용해요.

$ dart run bar:baz

bin 디렉터리는 프로그램이 보이는 유일한 위치예요. 의존 중인 패키지의 다른 모든 디렉터리는 비공개예요.

현재 패키지 안에서

현재 디렉터리가 패키지 이름과 일치하면(즉 pubspec의 name 속성과 일치하는 디렉터리에 있다면) 패키지 이름을 생략할 수 있어요. 프로그램 이름이 패키지 이름과 일치하면(즉 메인 프로그램이라면) 프로그램 이름도 생략할 수 있어요.

다음은 dart run의 가장 짧은 형태로, 현재 패키지의 메인 프로그램을 실행해요. 예를 들어 foo 패키지의 최상위 디렉터리에 있다면 이 명령은 bin/foo.dart를 실행해요.

$ dart run

프로그램 이름이 패키지 이름과 일치하지 않으면 콜론과 프로그램 이름을 추가해요. 예를 들어 이 명령은 현재 패키지의 bin/baz.dart를 실행해요.

$ dart run :baz

현재 패키지 안에 있지만 bin 디렉터리에 없는 프로그램을 실행하려면 상대 경로를 전달해요(앞에서 살펴본 것처럼).

$ dart run tool/debug.dart

main()에 인자 전달하기

main() 함수에 인자를 전달하려면 명령 끝에 인자를 붙여 넣어요.

$ dart run tool/debug.dart arg1 arg2

현재 패키지의 메인 프로그램을 실행할 때는 패키지 이름을 추가해요. foo 패키지의 최상위 디렉터리에 있으면서 인자와 함께 bin/foo.dart를 실행하는 예시는 다음과 같아요.

$ dart run foo arg1 arg2

디버깅

디버깅을 활성화하려면 dart run 명령에 다음과 같은 일반적인 디버깅 옵션을 하나 이상 추가해요.

  • assert을 활성화하려면 --enable-asserts 플래그를 추가해요.
$ dart run --enable-asserts tool/debug.dart
  • Dart DevTools를 통한 디버깅과 성능 분석을 활성화하려면 --observe 플래그를 추가해요.
$ dart run --observe tool/debug.dart

Dart DevTools로 디버깅하는 방법에 대해 더 배우려면 커맨드라인 앱에서 DevTools 사용하기 문서를 확인해 주세요.

다른 디버깅 옵션에 대해 더 배우려면 dart run --help를 실행해 주세요.

실험 기능 활성화하기

현재 개발 중인 새 기능과 개선 사항을 활성화하려면 실험 플래그를 사용해요.

더 알아보기