본문 바로가기
  • 포르쉐타고싶다
인포테인먼트 - development/flutter

[flutter-error] 에러 [SEVERE] Conflicting outputs were detected and the build is unable to prompt ... 해결

by 지오ㄴl 2020. 6. 14.

1. 배경

flutter에서 통신에서 가져오는 데이터의 모델에 대해

json 모델의 자동 직렬화를 위해

@JsonSerializable

 

를 사용하는데

 

  factory [Model].fromJson(Map<String, dynamic> json) => ...);

에서 수동으로 일일이 매칭하는 것이 아닌

build_runner에게 맡기고

  factory [Model].fromJson(Map<String, dynamic> json) => _$SearchFromJson(json);

 

이렇게 _$SearchFromJson을 넣고

flutter pub run build_runner build

 

명령어를 입력하면 build되면서 

json파일의 직렬화 과정의 코드가 자동으로 생성된다.

 

이 과정에서

[INFO] Found 1 declared outputs which already exist on disk. This is likely because the`.dart_tool/build` folder was deleted, or you are submitting generated files to your source repository.
[SEVERE] Conflicting outputs were detected and the build is unable to prompt for permission to remove them. These outputs must be removed manually or the build can be run with `--delete-conflicting-outputs`. The outputs are: lib/core/models/recommend_model.g.dart

 

이런 에러가 발생하였다.

 

2. 해결

 

이는 

자동으로 생성되는

[모델명].d.dart

의 직렬화 코드가 생성되면서 다른 d.dart파일과 충돌함녀서 일어나는 에러였다.

 

flutter pub run build_runner build --delete-conflicting-outputs

위의 명령을 통해 충돌하는 결과를 지우고

다시 재 빌드할 수 있다.

반응형

댓글