Dandy Now!
  • [Flutter] fvm을 이용한 Flutter 버전 관리 | 모두의숙소 앱 빌드 실패 문제 해결
    2022년 02월 09일 01시 41분 16초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

    "최주호, 정호준, & 정동진. (2021). 모두가 할 수 있는 플러터 UI 입문. 앤써북" 중 모두의숙소 앱 빌드 중 [그림 1]과 같은 에러가 발생했었다. 다른 PC에서 GitHub에 Push 된 동일한 코드를 Pull 하여 실행해 보았다. 그 PC에서는 정상적으로 빌드되어 AVD에서 실행되었다. 따라서 에러의 원인이 코드는 아니라고 보았다. 예전에 스프링 프레임워크를 배울 때 프레임워크의 버전이 달라지면 없던 에러가 생길 수 있다는 유의사항이 생각났다. 그래서 각 PC에 설치된 Flutter 버전을 확인해 보았다.

     

    [!] Your project requires a newer version of the Kotlin Gradle plugin.

    [그림 1] 안드로이드 앱 빌드 실패

     

    역시 버전이 서로 달랐다. [그림 1]의 에러가 발생한 PC의 버전이 더 높았다. 그래서 정상적으로 빌드가 되었던 버전으로 맞추기로 했다. 구글링해보니 fvm을 이용하면 손쉽게 버전 관리가 가능했고, 조치 후 문제가 해결되었다.

     

    빌드 실패한 버전

    C:\Users\Sewol>flutter --version
    Flutter 2.10.0 • channel stable • https://github.com/flutter/flutter.git
    Framework • revision 5f105a6ca7 (7 days ago) • 2022-02-01 14:15:42 -0800
    Engine • revision 776efd2034
    Tools • Dart 2.16.0 • DevTools 2.9.2

     

    빌드 성공한 버전

    C:\Users\user>flutter --version
    Flutter 2.8.1 • channel stable • https://github.com/flutter/flutter.git
    Framework • revision 77d935af4d (8 weeks ago) • 2021-12-16 08:37:33 -0800
    Engine • revision 890a5fca2e
    Tools • Dart 2.15.1

     


     

    fvm 설치 및 사용법(1~5는 CLI에서, 6 이하는 VSCode에서 진행).

    1. fvm 설치 : dart pub global activate fvm
    2. fvm.bat 파일이 있는 폴더에서 정상 설치되었는지 확인 :  fvm.bat -help
    3. 정상적으로 설치된 것이 확인되었다면 fvm.bat 파일이 있는 폴더를 환경 변수 설정(예: C:\Users\Sewol\AppData\Local\Pub\Cache\bin)
    4. 프로젝트 폴더에서 원하는 Flutter 버전(2.8.1을 설치하고자 하였음)을 fvm을 통해 설치 : fvm.bat install 2.8.1
    5. 원하는 Flutter 버전이 설치되었는지 확인 : fvm.bat list
    6. VSCode(File > Preference > Settings > Extensions > Dart)에서 setting.json 파일에 원하는 버전 코트 추가(아래 코드 블럭 참조)
    7. VSCode 우측 하단바[그림 2]에서 Flutter 버전 클릭하여 원하는 버전 선택

     

    setting.json

    {
      "editor.defaultFormatter": "esbenp.prettier-vscode",
      "editor.formatOnSave": true,
      "[dart]": {
        "editor.formatOnSave": true,
        "editor.formatOnType": true,
        "editor.rulers": [80],
        "editor.selectionHighlight": false,
        "editor.suggest.snippetsPreventQuickSuggestions": false,
        "editor.suggestSelection": "first",
        "editor.tabCompletion": "onlySnippets",
        "editor.wordBasedSuggestions": false
      },
      "liveServer.settings.CustomBrowser": "chrome",
      "dart.flutterSdkPaths": ["C:\\Users\\Sewol\\fvm\\versions"] // fvm 버전 경로 추가
    }

     

    fvm 버전 경로 확인법

    C:\Users\Sewol>fvm.bat list
    Cache Directory:  C:\Users\Sewol\fvm\versions
    
    2.8.1

     

    [그림 2] 원하는 버전 선택

    728x90
    반응형
    댓글