• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

pubspec.yaml 파일에서 Pub get이 안됩니다.

23.12.15 20:30 작성 조회수 189

0

스크린샷 2023-12-15 오후 8.19.00.png

좀 더 상세한 코드입니다.

name: flutter_cart_bloc_exam
description: A new Flutter application.

version: 1.0.0+1

environment:
  sdk: ">=2.12.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2

  flutter_bloc: ^7.0.0

  http: ^0.12.0+1

dev_dependencies:
  flutter_test:
    sdk: flutter

  test: ^1.24.9

  test_api: ^0.5.1

flutter:

  uses-material-design: true

처음에 환경의 sdk 관련해서 2.7로 변경한 이후에 null 관련된 정보들 및 다른 분들이 작성한 코드들을 확인하며 수정을 모두 완료했습니다. 그런데 Pub get 관련해서 가져오더라도 계속 오류가 발생하네요.

@override bool updateShouldNotify(InheritedWidget oldWidget) => true;  static CartBloc of(BuildContext context) =>     (context.dependOnInheritedWidgetOfExactType<CartProvider>() as CartProvider)         .cartBloc;

어떻게든 맞춰서 실행을 해봤지만 실행 버전이 달라 마이그레이션이 필요하다는 오류를 다시한번 받게 되었습니다. . . + 안드로이드의 gradle 파일이 잘못되었고, 버전이 잘못되었다는 오류가 발생해서 다시 롤백 후 삽질을 해봤습니다.

 

그래서 sdk가 2.7이어야만 하는 것인가? 생각이 되어 별도의 삽질을 해봤는데 안되네요.

 

아무래도 제가 깃에서 클론받은 프로젝트로 진행하다보니 이러한 문제가 발생했다고 생각이 되는데 혹시 해결책이 따로 있을까요? 일단은 새로 프로젝트 생성해서 처음부터 다시 진행해 볼 예정입니다.

 

제가 궁금한 부분은 git에서 클론받은 프로젝트가 있을 때 그래도 pubspec.yaml 파일에서의 라이브러리를 불러오는 것까지는 필요할 것 같은데( + 추후에 버전이 달라질 경우 운영 중인 프로젝트를 새로 만드는 것은 말이 안되기 때문에), 혹시 어느 키워드로 파고들어서 찾아야 할지, 혹은 별도의 해결책이 있으신지가 궁금합니다.

 

감사합니다.!

답변 2

·

답변을 작성해보세요.

1

최신 버전의 플러터에서는 dart 버전이 3.0 이상을 사용해야 하기 때문에 예전 버전으로 작업은 실행이 안 될 것입니다.

그리고 안드로이드 V2 임베딩은 현재 기본 사양이라서 안 되어 있으면 실행조차 되지 않습니다.

프로젝트를 새로 만드시면 안드로이드 V2 임베딩 문제가 해결될 것이고, 라이브러리 들은 pub.dev 에서 최신 버전을 사용하시면 문제가 없을 것입니다.

 

git 클론 받은 프로젝트가 2.x 대의 예전 버전 기준일 경우에는 해당 버전의 Flutter 버전으로 맞춘 후에 실행하는 방법과 최신 버전에서 실행이 되도록 마이그레이션이 필요한데요.

둘 다 굉장히 괴롭습니다.

저 같은 경우에는 새 프로젝트를 만든 후에 코드를 전부 복사 붙여넣기 하고 라이브러리 최신버전으로 맞추는 것이 오히려 더 쉬웠습니다.

정성원님의 프로필

정성원

질문자

2023.12.16

댓글 감사합니다. 여하간 일단은 강의를 쭉 진행하겠습니다!

0

정성원님의 프로필

정성원

질문자

2023.12.15

flutter pub upgrade --major-versions

해당 코드를 실행하면 .yaml이 어떻게든 실행이 됩니다.

 

하지만

 

image

이 앱은 V2 임베딩으로 마이그레이트 하는 것이 필요하다. 고 하고 있습니다.

 

저는 이 부분에 대한 부분에 대해서 아시는 바가 있으신지 궁금합니다.