본문으로 바로가기

fvm으로 flutter 특정 버전을 설치했는데, 

알고보니 버전을 잘못 설치했다........OTL

flutter 버전을 다시 설치한 후 아래 명령어로 각 패키지들의 버전 정보를 확인했다.

fvm flutter pub outdated
Package Name                  Current  Upgradable  Resolvable  Latest  

direct dependencies: all up-to-date.

dev_dependencies:            
flutter_lints                 *5.0.0   *5.0.0      6.0.0       6.0.0   

transitive dependencies:     
characters                    *1.4.0   *1.4.0      *1.4.0      1.4.1   
material_color_utilities      *0.11.1  *0.11.1     *0.11.1     0.13.0  
meta                          *1.16.0  *1.16.0     *1.16.0     1.17.0  
vector_math                   *2.1.4   *2.1.4      *2.1.4      2.2.0   

transitive dev_dependencies: 
leak_tracker                  *10.0.9  *10.0.9     *10.0.9     11.0.2  
leak_tracker_flutter_testing  *3.0.9   *3.0.9      *3.0.9      3.0.10  
leak_tracker_testing          *3.0.1   *3.0.1      *3.0.1      3.0.2   
lints                         *5.1.1   *5.1.1      6.0.0       6.0.0   
test_api                      *0.7.4   *0.7.4      *0.7.4      0.7.7   
vm_service                    *15.0.0  *15.0.0     *15.0.0     15.0.2

그러면 이런 결과를 확인할 수 있다.

outdated 패키지의 4가지 정보가 같이 나온다. 
다른 것은 괜찮지만 upgradable과 resolvable의 개념이 미친듯이 헷갈려서 정리해보았다...

  • current 
    • 현재 설치되어 있는 패키지 버전
  • upgradable
    • pubspec이 허용하는 가장 높은 버전
    • sdk 버전과 각 패키지 버전을 고려한 것
    • 주로 minor 버전 업데이트
    • 버전을 수정하지 않고 설치 가능한 최신 버전
  • resolvable
    • 다른 패키지 의존성이 허락하는 가장 높은 버전
    • major 버전 업데이트일 수도 있음
    • 코드를 수정해야 할 수도 있음
    • 제약 조건만 바꾸면 충돌없이 설치 가능한 최신 버전
  • latest
    • 가장 최신 버전
    • 충돌이 일어날 수도 있음

  • 의존성 충돌이란?
    • 패키지 a와 b가 서로 다른 버전의 같은 패키지에 의존할 때 생김
  • pubspec.lock 
    • 실제 설치된 의존성 버전 확인 가능
  • pubspec.yaml
    • 프로젝트 설정과 의존성 정의하는 핵심 파일