트러블 슈팅 기록 : Dart 프로젝트 실행 환경 설정 및 코드 복구
학생 성적 분석 Dart 콘솔 프로그램 개발을 마쳤고, GitHub 공유를 위해 dart run 명령어로 최종 실행을 시도했다. 하지만 시스템 환경 설정 문제로 프로그램 실행이 계속 실패하는 상황이 벌어졌다.
- 배경
학생 성적 분석 프로그램 개발을 완료하고 GitHub에 공유하기 위해 dart run 명령어를 통해 최종 실행을 시도했다. 그러나 시스템 환경 설정 문제로 프로그램 실행이 계속 실패했다.
- 발단
프로그램 실행의 필수 단계인 dart pub get 명령을 실행하자, 프로젝트의 pubspec.yaml 파일이 요구하는 SDK 버전과 시스템에 설치된 SDK 버전이 달라 버전 불일치 오류가 발생했다. 이로 인해 실행 자체가 원천 봉쇄되었다.
- 전개
문제 해결을 위해 Windows 패키지 관리자인 Chocolatey를 사용해 Dart SDK를 3.9.4 버전으로 업데이트하는 조치(choco upgrade dart-sdk -y)를 했다. Chocolatey가 업데이트 성공 메시지를 출력했기에 버전 충돌 문제는 해소되었다고 판단했다.
- 위기
SDK 업데이트 직후 dart --version 명령을 실행했지만, 시스템은 여전히 이전 버전인 3.7.2를 출력하는 치명적인 문제가 발생했다. 원인을 분석한 결과, Windows PATH 환경 변수의 우선순위 문제 때문이었다. PATH 목록의 최상단에 구 버전 Dart SDK 경로가 남아있어 시스템이 새 버전을 무시하고 구 버전을 계속 참조하고 있음이 확인되었다.
- 절정
시스템 환경 변수 편집기를 열어 PATH를 수동으로 수정을 시도했다. 오래된 경로는 목록에서 제거하고, 새로 설치된 3.9.4 버전의 경로를 PATH 목록의 맨 위로 이동시켜 시스템이 최신 버전을 최우선으로 인식하도록 설정했다. 이후 터미널을 재시작하여 환경 설정 문제를 완전히 해결했다.
- 결말
환경 설정이 완료된 후 dart run bin/main.dart를 실행했지만, 파일 내용 누락 오류가 발생하는 마지막 문제가 발생했다. 이는 코드를 저장하는 과정에서 파일 내용이 비었기 때문이었고, 최종 코드를 파일에 다시 붙여넣고 저장하여 코드를 복구했다. 이로써 프로그램이 최종적으로 정상 실행되는 데 성공했다.
마무리
이번 과제에서 클래스 생성 까지는 꽤나 손쉽게 해냈지만 그 이후 문제들을 해결하기 까지 시간도 아주 오래걸렸다. 필수 문제만 해결하는데도 많은 시간을 썼는데 터미널을 이용해서 실행했을 때 어떻게 보면 간단한 문제로 트러블이 생겼다. 이런 환경설정이 개발자에게 있어서 중요하다는 걸 다시한번 상기시키게 되었다.