버전 관리의 필요성
프로젝트 진행 중에 플러터의 업데이트 소식을 듣고 바로 업그레이드를 진행하였는데,, 진행 중인 프로젝트의 버전이 이전 버전이여서 문제가 발생했습니다.
진행 중인 프로젝트 폴더를 열때마다 환경변수에 있는 flutter sdk 폴더를 교체해줬었는데 매우 번거롭고 번번히 까먹어서 실행할때마다 에러가 발생한 경우가 빈번했습니다.
"안되겠다.. 버전관리 도구가 없을까?" 하고 찾아보니 Flutter FVM이 있었습니다.
FVM 설치하기
* 해당 글은 VSCODE 개발 환경을 기준으로 작성하였습니다.
dart pub global activate fvm
Terminal 에서 해당 명령어를 입력하면 fvm은 설치는 완료된 상태입니다..
환경변수 설정까지 해야 이제 터미널에서 동작합니다.
FVM 환경변수 설정
- windows 환경변수 설정
해당 시스템 변수 Path에 들어가서 밑에 적힌 경로를 추가하면 됩니다.
"C:\\User\[사용자명]\AppData\Local\Pub\Cache\bin"
"fvm -help"를 쳤을때 fvm에 관련한 명령어들이 나오면 설치가 정상적으로 완료가 된 것입니다.
프로젝트 버전 설정하기
버전을 설정해야하는 프로젝트를 terminal 로 경로를 이동하거나, vscode로 해당 프로젝트 폴더를 열고
fvm use 3.7.3
"fvm use 버전" 을 입력하면
Flutter "3.7.3" is not installed.
Would you like to install it? Y/n: y
Installing version: 3.7.3...
Cloning into 'C:\Users\ws526\fvm\versions\3.7.3'...
remote: Enumerating objects: 444631, done.
remote: Counting objects: 100% (314/314), done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 444631 (delta 164), reused 187 (delta 109), pack-reused 444317
Receiving objects: 100% (444631/444631), 251.07 MiB | 21.42 MiB/s, done.
Resolving deltas: 100% (338472/338472), done.
Updating files: 100% (7440/7440), done.
Updating files: 100% (3296/3296), done.
HEAD is now at 9944297138 Roll engine version. (#120324)
Checking Dart SDK version...
Downloading Dart SDK from Flutter engine ...
Expanding downloaded archive...
Building flutter tool...
Running pub upgrade...
Flutter 3.7.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 9944297138 (3 months ago) • 2023-02-08 15:46:04 -0800
Engine • revision 248290d6d5
Tools • Dart 2.19.2 • DevTools 2.20.1
Project now uses Flutter [3.7.3]
기존에 fvm 버전에 설치한 적이 없으면 설치 여부를 먼저 물어보고 'y'를 누르면 설치가 되고 해당 프로젝트는 3.7.3으로 셋팅됩니다.
* 기존에 설치된 버전으로 사용시 아래와 같이 바로 프로젝트에 적용됩니다.
PS D:\dev\adbai\client> fvm use 3.7.4
Project now uses Flutter [3.7.4]
설정한 버전으로 프로젝트 실행하기
fvm flutter run -d [플랫폼명]
ex) fvm flutter run -d chrome
기존에 "flutter run" 명령어 앞에 fvm을 추가하고 어떤 플랫폼으로 실행할지 명시해주면 됩니다.
"flutter run" 실행 시 어떤 플랫폼으로 실행할지 물어보지만, fvm을 쓰는 경우에는 목록은 보여주지만 선택을 하지 못하기 때문에 직접 명시해줘야한다.
VSCODE에서 디버그모드를 실행하기
다른 개발환경 셋팅이 필요하시면 https://fvm.app/docs/getting_started/configuration 를 참고해주시기 바랍니다.
방법이 두 가지가 있습니다.
1. 모든 프로젝트를 fvm을 써서 사용할 생각이다.
File - Preferences - settings 를 눌러주시면
설정창이 나오는데 검색창에 "Dart:"라고 검색하시면
"Edit in settings.json" 이라는 하이퍼링크가 있습니다. 눌러주시고
이 JSON에
"dart.flutterSdkPath": ".fvm/flutter_sdk"
이거 한줄 추가해주시면 모든 프로젝트 폴더 안에 FVM에 있는 flutter_sdk를 기준으로 실행할 수 있습니다.
이 방법의 단점은 프로젝트에 FVM을 설정해놓지 않으면 에러가 발생할 수 있습니다.
2. 특정 프로젝트만 fvm을 쓰고 나머지는 기존 설치된 버전으로 사용할 생각이다.
프로젝트에 ".vscode"라는 이름의 폴더를 생성합니다.
".vscode" > "settings.json" 파일을 생성합니다.
"settings.json"에
해당 코드를 추가해 놓으면 해당 프로젝트 폴더 안에 FVM에 있는 flutter_sdk를 기준으로 실행할 수 있습니다.
'Dev > Flutter' 카테고리의 다른 글
[Flutter] Json Serializable 사용하기(Json 직렬화) (0) | 2024.07.09 |
---|---|
[Flutter] Web 업데이트 이후 캐시 문제 (1) | 2023.06.15 |
Flutter Mac OS 설치 (0) | 2022.09.01 |