freezed를 사용하여 불변 클래스(Immutable Class)를 설계할 때, 터미널에서 “flutter pub run build_runner build –delete-conflicting-outputs”를 실행해도 클래스명.freezed.dart 파일이 자동으로 생성되지 않을 때의 대처 방법입니다.
이번에 제가 해결한 대처 방법을 소개합니다. 참고가 되길 바랍니다.
오류가 발생하는 경우
“flutter pub run build_runner build –delete-conflicting-outputs”를 실행했을 때, 오류가 발생하는 경우는 특정이 용이합니다. 오류 내용을 확인하고 원인을 제거합시다. 보통 아래와 같이 터미널에 오류 위치가 표시됩니다.
위의 “package:~dart:24:9”을 클릭하면 해당 코드로 이동합니다.
오류는 발생하지 않지만 freezed.dart가 생성되지 않는다
“flutter pub run build_runner build –delete-conflicting-outputs”를 실행했을 때, 오류는 출력되지 않지만, freezed.dart가 생성되지 않는 경우가 있습니다.
저의 경우, 새로운 클래스 파일을 생성했을 때, 명령을 실행해도 생성되지 않았습니다. 원인은 이전에 명령을 실행했을 때의 캐시가 남아 있어, 새로운 클래스 파일이 업데이트 대상으로 인식되지 않았습니다.
이 경우, 캐시를 삭제함으로써 해결할 수 있었습니다.
캐시 클리닝을 수행한다
터미널에서 다음 순서로 명령을 실행함으로써 캐시 클리닝을 수행할 수 있습니다.
flutter clean
flutter pub run build_runner build --delete-conflicting-outputs
새로운 클래스 파일과 관련된 freezed.dart가 생성될 것입니다.