Flutter 2.0 FVM 으로 여러개의 Flutter 버전 관리하기

Written by 코드팩토리 JC

1월 15, 2024

Flutter 2.0 가이드

Flutter 2.0!

어제 Flutter 2.0 버전 및 Dart 2.12 버전에서 추가된 Null Safety 기능에 대해 말씀 드렸었습니다. 이번시간에는 Flutter 2.0 에서 추가된 버튼들의 기능을 정리하면서 FVM 이라는 편리한 라이브러리를 알게되서 FVM에 대해 먼저 알려드리려고 해요!

FVM 이란?

FVM 은 Flutter Version Management 의 약자입니다. nodeJS 를 서버로 사용해보신 분들은 nvm 에 굉장히 친숙하실텐데 FVM 또한 비슷한 툴이라고 생각하시면 될 것 같습니다. FVM 을 사용하면 각 프로젝트별로 다른 Flutter 버전을 사용할 수 있어서 굉장히 편하게 원하시는 플러터 버전으로 스위칭을 할 수 있습니다.

FVM 이 필요한 이유

아시다시피 Flutter 2.0 업데이트는 상당히 많은 변화를 가져왔습니다. Dart 언어도 2.12 로 업데이트 되면서 Null Safety 기능까지 추가가 되었죠. Flutter 개발자 분들은 모두 이 새로운 기능들을 빨리 사용해보고 싶어서 안달이 나셨을 것 같은데 업데이트를 섣불리 했다가는 기존 프로젝트가 다 망가질 수 있다는걸 우리 모두 경험으로 알고있죠 ㅎㅎ. 그래서 FVM이 필요합니다. FVM 을 사용해서 Flutter 2.0 을 테스트 해보고싶은 프로젝트는 2.0 버전을 사용하고 나머지 프로젝트는 1.x 버전을 사용할 수 있어요. 그러면 기존 프로젝트가 업데이트로 인해 망가지는걸 막을 수 있죠.

FVM 설치법

일단 Dart 와 Flutter CLI 가 모두 설치되어 있다는걸 가정으로 말씀드리겠습니다. 일단 아래 코드를 실행해서 fvm 을 활성화 시켜주세요.

dart pub global activate fvm
ShellScript

이후 fvm help 가 실행되시면 설치에 성공하신겁니다.

fvm 은 여러 커맨드를 제공하고 있습니다. fvm help 를 통해서 커맨드를 알아보시거나 여기 에서 직접 다큐멘테이션을 읽어보셔도 됩니다.

FVM 설정법

일단 터미널에서 Flutter 2.0 을 사용하고 싶은 프로젝트로 이동을 해보세요!

이동 후 아래 커맨드를 실행 해줍니다.

fvm use 2.0
ShellScript

그럼 fvm 이 현재 프로젝트에 2.0 버전의 Flutter 를 설치할거예요.

설치가 완료되면 ls -al 을 실행해서 파일 구조를 확인합니다.

.fvm 이라는 폴더가 생긴걸 볼 수 있어요. 이 폴더에 flutter_sdk 라는 폴더가 존재하는데 이 폴더는 저희가 일반적으로 사용하는 flutter SDK 가 설치되어 있습니다. 물론 설정하신 버전으로요. 그럼 이제 모든 플러터 커맨드에 fvm 을 붙여서 실행하면 지정하신 플러터 버전으로 커맨드 실행이 가능합니다. 예를들면 플러터 버전은 아래 커맨드로 확인할 수 있어요.

fvm flutter --version
ShellScript

IDE 에서 FVM 에서 설정한 플러터 버전을 사용하게 하려면 따로 추가 설정을 해줘야 하는데 이건 글로 설명하기 복잡하니 제 영상을 시청해보시는 걸 추천드립니다!

관련 포스트

플러터에서의 Immutable Programming: copyWith 함수 마스터하기!

플러터에서의 Immutable Programming: copyWith 함수 마스터하기!

서론 불변 프로그래밍: 현대 개발의 핵심 현대 소프트웨어 개발에서 불변 프로그래밍(Immutable Programming)의 중요성은 간과할 수 없는 요소입니다. 플러터(Flutter)에서도 마찬가지로 불변 프로그래밍 개념이 매우 중요하며, copyWith 함수는 이러한 불변성을 유지하는 데 핵심적인 역할을 합니다. 이 글에서는 플러터를 배우기 시작하는 개발자들에게 불변 프로그래밍의 중요성을 강조하고, copyWith 함수의 역할과 사용 방법에 대해 설명 해보겠습니다!...

ChatGPT가 이야기하는 2024년 개발자 로드맵

ChatGPT가 이야기하는 2024년 개발자 로드맵

서론 개발자의 여정을 시작하며 안녕하세요, 미래의 개발자 여러분! 오늘부터 시작하는 여러분의 개발 여정에 함께할 수 있어서 기쁩니다. 2023년은 기술이 매우 빠르게 변화하는 해였으며, 이러한 변화 속에서 개발자가 되기 위한 길은 더욱 다채롭고 흥미로워졌습니다. 이 로드맵은 초보자인 여러분이 개발의 세계에 첫발을 내딛는 데 필요한 기초부터 시작해, 점차 심화 단계로 나아가는 길을 안내해 드릴 것입니다. 백엔드 개발 이 글은 단순히 기술을 배우는 것 이상의 의미를 가집니다....

Flutter Freezed 플러그인! Entity Code Generation은 이거 하나로 끝!

Flutter Freezed 플러그인! Entity Code Generation은 이거 하나로 끝!

https://youtu.be/i5p6wXLAX7I 서론 Flutter 는 Code Generation 기능이 상당히 많이 활성화되어 있어요. 흔히들 많이 사용하는 json_serializable 라이브러리도 있고 retrofit 및 chopper 라이브러리도 있습니다. 오늘 알려드릴 freezed 또한 데이터 클래스에 편의 기능들을 제공해주는 code generation 라이브러리입니다. Freezed vs Json Serializable Code Generation 이라는...