[Flutter] pub-cache upgrade

Ohgyuchan·2022년 7월 16일

Flutter

목록 보기
13/25
post-thumbnail

문제

Flutterdart pub을 통해 dart package를 관리. package들은 .pub-cache 디렉토리에 version 정보가 쌓이게 된다. 따라서 pubspec.yaml 에서 package 들의 versionupgrade 하더라도 남아 있는 cache 때문에 new version 으로 Flutter project가 작동 안 될 때가 있는 것으로 보임.

 where TResult is a type-variable:
    TResult extends Object declared in method <TResult>call(Executor,Callable<TResult>)
/Users/terman/.pub-cache/hosted/pub.dartlang.org/firebase_storage-10.2.12/android/src/main/java/io/flutter/plugins/firebase/storage/FlutterFirebaseStoragePlugin.java:226: warning: [deprecation] <TResult>call(Executor,Callable<TResult>) in Tasks has been deprecated
    return Tasks.call(
                ^

Flutter 3.0으로 올리니 갑자기 이런 메시지가 떳습니다. 빌드가 안 되는 건 아닌데 .pub-cache 디렉토리에 있는 파일 내용입니다.

pub-cache clean & upgrade

Flutter 3.0 Migration 과 함께 기존 Package들 version-up 을 했는데 pub-cache가 남아있어서 충돌이 나는 현상이 발생

Solution

$ flutter pub upgrade

해봐도 안되면 아래 내용 Try

pubspec.yaml 에서 dependencies 하위 패키지들을 주석처리 한 후 flutter pub get

dependencies:
  flutter:
    sdk: flutter

  # cupertino_icons: ^1.0.2
  # get: ^4.6.1
  # firebase_core: ^1.11.0
  # firebase_auth: ^3.3.5
  # firebase_storage: ^10.2.5
  # cloud_firestore: ^3.1.6
  # google_fonts: ^3.0.1
  # table_calendar: ^3.0.3
  # intl: ^0.17.0
  # cached_network_image: ^3.2.0

그 다음 주석을 해제하고 아래 순으로 명령어 실행

flutter clean
flutter pub get
flutter run
모든 cache 지우는 명령어
flutter pub cache clean

틀린 내용이 있다면 지적해 주시면 감사하겠습니다.

0개의 댓글