Flutter 개발 중 json_serializable 사용시 g 파일 생성 안됨
Flutter에서 json_serializable을 사용해 코드를 자동 생성하려고 했으나 직렬화/역직렬화 함수를 담은 '.g.dart' 파일이 생기지 않는 문제가 발생했다. dart run build_runner build 명령어실행해도 outputs는 0이었다.
원인파악
flutter pub get을 실행하고 build_runner를 돌렸지만, 터미널에는 0 outputs, 76 skipped 같은 메시지만 반복해서 나타났다. 분명히 pubspec.yaml 파일에 build_runner와 json_serializable을 제대로 추가했고, 모델 파일에 @JsonSerializable() 어노테이션과 part 구문도 정확히 작성했으며 오타 체크도 다시했지만 json_serializable은 내파일을 인식하지 못하고 건너뛰었다.
PS C:\flutter\project_flutter\내프로젝트> dart run build_runner build
0s json_serializable on 76 inputs: 76 skipped
...
Built with build_runner in 5s; wrote 0 outputs.
여러가지 시도
flutter clean, pub get, 패키지 이전 버전으로 교체등등 시도했지만 전혀 먹히지 않았다. 패키지 충돌일까 생각해서 임시 새 프로젝트도 만들고 내가 만들 파일만 가져와 최소 패키지로 돌려봤지만 여전히 실패였다.
해결
우선 Flutter SDK를 안정적인 stable 채널로 전환하고, 모든 패키지를 최신 상태로 업데이트했다. 터미널에 다음과 같이 입력한다.
flutter channel stable
flutter upgrade
다음으로, 터미널을 관리자 권한으로 실행하여 모든 파일 쓰기 권한을 확보했다. visual studio 종료하고 window powershell을 관리자권한으로 실행한다.
flutter clean
flutter pub get
dart run build_runner build --delete-conflicting-outputs
이렇게 해서도 바로 만들어지지 않아 최종적으로 visual studio에서 아래와 같이 돌리니 드디어 g 파일이 생겼다.
flutter pub get
dart run build_runner build
반응형
'자연과학 > 컴퓨터과학' 카테고리의 다른 글
<Flutter> 소셜로그인 구현 에러 2 (2) | 2025.08.30 |
---|---|
<Flutter> 소셜로그인 구현 에러 (2) | 2025.08.29 |
<Python> 초간단! python 코드를 exe 파일로 만들기(비주얼 스튜디오 가상환경) (0) | 2023.02.16 |
<Python> NLTK 사용시 단어의 품사 약칭 정리 (0) | 2023.01.19 |
강의요약(Introduction to R) (0) | 2022.08.06 |