flutter 버전별 관리 with FVM

Clean Code Big Poo·2022년 5월 27일
1

Flutter

목록 보기
13/38
post-thumbnail

overview

프로젝트를 진행하다 보니 flutter sdk 버전이 상이한 케이스가 발생하였다. 물론 flutter 기본 기능으로도 커버가 가능하지만... 더 쉬운 방법은 없을까 고민하던 중 FVM 이라는 것을 발견하였다.

FVM doc
유투브로 배우기

get Started

installation

아래의 명령어를 사용하여 설치 시작!

% dart pub global activate fvm

configuration

.gitignore

git을 사용한다면 .gitignore에 아래를 추가해주자!

.fvm #개인적으로는 이 구문을 추천
.fvm/flutter_sdk #공식 문서에서 요청한 구문

.gitignore : .gitignore파일이란 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일이다. git으로 프로젝트를 관리할 때, 그 프로젝트 안의 특정파일들은 Git으로 관리할 필요가 없는 경우 사용한다.

vscode 세팅

vscode를 사용한다면 .vscode/settings.json을 아래와 같이 수정/추가하자!
command + shift + p 를 누르면 커맨트 팔레트가 나온다. 여기에 setting.json을 검색하면 쉽게 찾을 수 있다.

{
  "dart.flutterSdkPath": ".fvm/flutter_sdk",
  // Remove .fvm files from search
  "search.exclude": {
    "**/.fvm": true
  },
  // Remove from file watching
  "files.watcherExclude": {
    "**/.fvm": true
  }
}

settings.json : vscode의 설정을 담은 파일이다. 내용을 직접 편집하여 설정할 수 있다.

path 추가

fvm command를 사용하기 전에 path를 설정해 주어야 한다.

  1. 터미널을 열어 vi $HOME/.zshrc을 입력한다.
  2. vi 에디터가 열린다.
  3. i 를 입력하여 insert 모드를 활성화한다.
  4. export PATH="$PATH":"$HOME/.pub-cache/bin"를 입력한다.
  5. esc 를 눌러 insert 모드를 비활성화한다.
  6. vscode를 재실행하면 적용된다.

사용법

commands

view flutter sdk list

현재 사용이 가능한 flutter sdk 버전 리스트를 볼 수 있다. 어떤 sdk를 다운로드 할지 확인하도록 하자.

% fvm releases
flutter sdk channel 도 확인이 가능하다.

flutter sdk install

available flutter sdk list를 확인하였으니 이제 install을 하도록 하자.

% fvm install - # Installs version found in project config
% fvm install {version} - # Installs specific version
% fvm install 3.0.0

view installed flutter sdk

설치된 flutter sdk list를 확인할 수 있다.

% fvm list

switch sdk version

  1. 명령어로 switch 해보자.
    아래의 명령어는 설치된 flutter sdk 를 사용하고, switch 하는 명령어 이다.
% fvm use {version}
% fvm use 3.0.0
  1. .vscode/settings.json
    dart.flutterSdkPath는 특정 sdk를 사용하는 설정이고, dart.flutterSdkPaths는 여러 sdk를 관리할 때 사용한다.
{
    "dart.flutterSdkPaths": ["/Users/nahyeongim/fvm/versions"],
    // Remove .fvm files from search
    "search.exclude": {
      "**/.fvm": true
    },
    // Remove from file watching
    "files.watcherExclude": {
      "**/.fvm": true
    },
    "dart.flutterSdkPath": "/Users/nahyeongim/Documents/Work/SDK/2.10.5"
  }
dart.flutterSdkPaths에 설정된 sdk 모습이다. 커맨드 팔레트(command + shift + p)에 flutter:change sdk를 입력하면 나옴.

flutter sdk uninstall

% fvm remove {version}
% fvm remove 3.0.0

다른 옵션은 --help를 이용하여 확인하여 보자

running

이제 명령어를 사용하여 flutter를 실행할 수 있다.

간단하게 말하자면 flutter 명령어 앞에 fvm을 붙여 사용한다.

# Use
% fvm flutter {command}
# Instead of
% flutter {command}

명령어 줄이기

aliases를 설정하여 fvm flutter 를 줄여 쓸 수 있다.

  1. 터미널을 열어 vi $HOME/.zshrc을 입력한다.
  2. vi 에디터가 열린다.
  3. i 를 입력하여 insert 모드를 활성화한다.
  4. alias f="fvm flutter"를 추가한다.
  5. esc 를 눌러 insert 모드를 비활성화한다.
  6. vscode를 재실행하면 적용된다.
# Now you can use "f run" instead of "fvm flutter run"
% f run

configure global version

기본 flutter sdk 버전을 설정 할 수 있다. (global version)

% fvm global {version}

flavors

별명으로 sdk 버전 관리도 가능하다. 참고로 이 설정은 하나의 프로젝트에서만 사용가능하다..

빌드 구성을 정의하고 원하는 대로 전환할 수 있다. 예를 들어, 개발을 위한 하나의 flavors과 생산을 위한 하나의 flavors을 가질 수 있습니다.
혼자 개발할 때보다 대규모의 팀과 협업할때 흔히 사용된다.(고 한다.)
flutter develper는 하나의 앱에 3~5개 정도의 flavor를 설정한다고 한다.(development, production, staging, demo..)

같이보면 좋을 article

set flavors config

% fvm use {version} --flavor {flavor_name}
% fvm use 3.0.0 --flavor eco

view & switch flavors

flavor를 보고, 설정하는 데에는 두가지 방법이 있다.

# 1번째 방법
% fvm flavor
# 2번째 방법
% fvm flavor {flavor_name}
% fvm flavor eco
  • fvm flavor를 사용하면 설정된 flavor 리스트와 함께 몇번째의 flavor를 사용할 것인지 나온다.
    이때 []안의 숫자를 입력하야 스위치한다.
  • fvm flavor {flavor_name}의 경우, 설정된 flavor의 이름을 사용한다.

같이 보면 좋은 포스트

https://velog.io/@knh4300/Flutter-sdk-version

0개의 댓글