DartPad 문제 해결

DartPad 문제 해결

DartPad를 사용할 때 겪을 수 있는 흔한 문제들과 해결 방법을 설명하는 페이지예요.

출처: Troubleshooting DartPad

본문

이 페이지는 dartpad.dev에서든, DartPad가 내장된 페이지에서든 DartPad를 사용하려다 발생할 수 있는 문제들의 해결 방법을 설명해요. DartPad에 대한 개요는 DartPad 페이지를 참고하세요.

내장된 DartPad가 나타나지 않을 때

dart.dev 홈페이지와 많은 튜토리얼에 DartPad가 내장되어 있어요. 이런 DartPad가 전혀 나타나지 않는다면 다음을 시도해 보세요.

  • Chrome, Edge, Firefox, Safari 중 최신 버전 두 개 중 하나를 사용하고 있는지 확인해요. DartPad는 다른 브라우저에서는 동작하지 않을 수 있고, Brave 브라우저의 기본 설정에서는 동작하지 않는 것으로 알려져 있어요.
  • 광고 차단기(ad blocker)를 사용 중이라면 비활성화해요.
  • 타사 추적 쿠키를 비활성화했는지 확인해요(Chrome 지침). 쿠키를 비활성화했다면 dartpad.dev에 대해 쿠키를 허용하도록 설정을 변경해요. Dart 치트시트나 암시적 애니메이션 codelab 같은 내장 DartPad를 사용 중이라면, 내장 사이트의 도메인(이 경우 각각 dart.dev와 docs.flutter.dev)에 대해서도 쿠키를 허용해야 할 수 있어요.
  • 내장 DartPad가 포함된 페이지를 반복해서 새로고침하면 GitHub의 속도 제한(rate limiting)에 걸릴 수 있어요. 60분 안에 페이지를 다시 새로고침하면 내장 DartPad에서 코드를 볼 수 있을 거예요.

DartPad는 쿠키를 사용하지 않지만, 쿠키가 비활성화되면 브라우저가 보통 비활성화하는 로컬 저장소(local storage)에 의존해요.

DartPad 밖에서 코드가 동작하지 않을 때

DartPad에서 코드를 다른 환경으로 복사했는데 그 코드가 제대로 실행되지 않을 수 있어요. 몇 가지 가능한 원인과 해결 방법은 다음과 같아요.

  • Dart가 임포트한 라이브러리를 찾지 못한다면, 필요한 패키지 의존성을 모두 추가했는지 확인해요. DartPad는 기본으로 많은 내장 패키지를 포함하지만, 여러분의 프로젝트는 의존하는 패키지를 명시적으로 나열해야 해요. DartPad가 포함하는 패키지를 보려면 dartpad.dev로 가서 창 오른쪽 아래의 i 아이콘을 클릭해요. 여러분의 프로젝트에 패키지 의존성을 추가하는 방법을 더 자세히 알아보려면 dart pub add 문서를 참고하세요.
  • Dart가 특정 메서드나 속성을 찾지 못한다면, 연습 문제와 함께 제공된 코드를 확인해 보세요.
  • 코드에 다른 컴파일 오류가 있다면, 최신 안정 버전의 Dart SDK를 사용하고 있는지 확인해요. DartPad와 내장 샘플은 보통 SDK의 최신 안정 릴리스를 사용하고, 이전 버전에는 필요한 언어나 라이브러리 기능이 빠져 있을 수 있어요. Dart SDK를 업데이트하는 방법은 Get the Dart SDK를 참고하세요.
  • 웹 앱을 만들고 있다면 프로젝트 설정이 제대로 되어 있는지 확인해요. DartPad는 Dart 코드를 실행하는 데 필요한 모든 마크업을 보여주지는 않아요. Dart로 웹 앱을 만드는 방법을 시작하려면 Build a web app with Dart를 확인해 보세요.

이전에 동작하던 코드에 이제 오류가 생길 때

코드가 Dart의 최신 안정 릴리스에서 더 이상 지원되지 않는 언어나 라이브러리 기능을 사용한다면, 그 코드는 더 이상 오류 없이 분석되거나 실행되지 않을 수 있어요.

  • 가능하다면 DartPad가 안정(stable) 채널과 베타(beta) 채널만 지원하므로, 코드를 최신 Dart 릴리스에서 동작하도록 업데이트해요.
  • 코드가 이전 Dart 릴리스에서 동작했다면, 그 버전의 Dart를 로컬에서 사용할 수 있어요. 특정 버전의 Dart를 설치하는 방법은 Get the Dart SDK를 확인해 보세요.

중국에서 DartPad가 동작하지 않을 때

dartpad.cn을 시도해 보세요.

기타 문제

DartPad를 사용할 때 다른 문제가 있다면 GitHub에 이슈를 만들어 주세요.

더 알아보기