에러
Dart 2.19.6에서 3으로 업그레이드하면서 발생한 에러
dart run build_runner build 실행 중 아래와 같은 에러가 발생했다.
Failed to build build_runner:build_runner
Error: The class 'FileSystemEvent' can't be extended, implemented, or mixed in outside of its library because it's a sealed class.
Dart 3부터 sealed class가 기본으로 제공된다. 여기에 맞게 라이브러리 업그레이드가 필요했다.
1. 업데이트가 필요한 라이브러리 확인
flutter pub outdated
❗️ 'flutter pub upgrade' 와 'flutter pub upgrade --major-verions' 의 차이
flutter pub upgrade 명령어는 라이브러리를 최신 버전으로 업그레이드 한다.
반면에 flutter pub upgrade --major-verions 명령어는 major version(주 버전)이 변경된 경우에만 업그레이드가 진행된다.
일반적으로 주 버전이 변경되면 호환성이 없는 큰 변경이 있었음을 의미한다.
예를 들어, 현재 버전이 1.2.3이고, 최신 버전이 1.3.0이라면 flutter pub upgrade 명령어를 사용해야 업그레이드가 된다.
또는 현재 버전이 1.2.3이고, 최신 버전이 2.0.0이면 주 버전이 변경되었다는 뜻이고 이 때는 flutter pub upgrade --major-versions 명령어를 사용해야 한다.
일반적으로는 flutter pub upgrade 명령어를 사용하여 업그레이드를 한다.
2. 라이브러리 업데이트
flutter pub upgrade
3. 그리고 다시 빌드
flutter clean
flutter pub get
dart run build_runner build
4. 충돌
다 끝난 줄 알았는데 다른 이슈가 발생했다.
이 메시지는 코드를 빌드하는 동안 발생한 오류로, 이미 디스크에 존재하는 3개의 선언된 출력물을 발견했다는 것을 나타낸다. 기존의 출력물을 삭제할 것인지, 빌드를 취소할 것인지 또는 충돌 목록을 표시할 것인지를 선택하면 된다.
1을 입력하자 마저 실행되었다.
[참고]
Flutter Build Runner - Filesystem Error 대응 방법
Flutter를 업데이트를 했더니, 잘되던 Build Runner에 오류가 발생했다. Build Error Error: The class 'FileSystemEvent' can't be extended, implemented, or mixed in outside of its library because it's a sealed class. 휘리릭 검색해보니
willnfate.tistory.com
'Flutter' 카테고리의 다른 글
[Flutter]image picker로 프로필 화면 만들기 (0) | 2024.03.20 |
---|---|
[Flutter][해결]iOS 실행 에러 (0) | 2024.03.11 |
[Flutter][해결]Android 실행 시 에러(Migration하기) (0) | 2024.03.10 |
[Flutter]플러터 업그레이드(강제 업그레이드) (0) | 2024.03.09 |
[Flutter]JsonSerializable(Json직렬화) (0) | 2024.03.05 |