Install the Flutter SDK (feat: FVM)

오픈소스·2025년 5월 18일
0

처음에는 공식문서에서 가이드한 방법으로 압축화일로 설치했습니다.
https://docs.flutter.dev/get-started/install/macos/mobile-ios#install-the-flutter-sdk

https://docs.flutter.dev/install/archive


하지만 별다른 생각 없이 flutter upgrade를 했다가 재앙이 올 수 있습니다.
프로젝트가 여러개인 경우, 각 프로젝트에서 사용하는 package마다 flutter SDK 버젼 의존성이 있을 수 있습니다.

$ flutter upgrade
Upgrading Flutter to 3.29.3 from 3.24.5 in /Users/youngkiu/development/flutter...
Downloading Darwin arm64 Dart SDK from Flutter engine cf56914b326edb0ccb123ffdc60f00060bd513fa...
Building flutter tool...
Resolving dependencies...
Downloading packages...
Got dependencies.

Upgrading engine...

Flutter 3.29.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision ea121f8859 (5 weeks ago) • 2025-04-11 19:10:07 +0000
Engine • revision cf56914b32
Tools • Dart 3.7.2 • DevTools 2.42.3

Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.29.3, on macOS 15.4.1 24E263 darwin-arm64, locale en-KR)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2025.1)
[✓] VS Code (version 1.99.2)
[✓] Connected device (5 available)
[✓] Network resources

• No issues found!

flutter downgrade 3.24.5 명령어가 있지만 모든 버젼을 세밀하게 지원하지 않아, 원하는 버젼으로 설치 못할 수 있습니다.

$ flutter downgrade 3.24.5
Downgrade flutter to version 3.16.5
? [y|n]:

fvm (Flutter Version Management)

https://fvm.app/documentation/getting-started/installation, Pub

$ dart pub global activate fvm

FVM 명령어 요약

  1. 버전 보기: fvm list
  2. 버전 설치: fvm install <version>
  3. 프로젝트 버전 설정: fvm use <version>
  4. 버전 제거: fvm remove <version>
  5. 환경 확인: fvm doctor

  • fvm flutter clean = flutter clean
  • fvm flutter pub get = flutter pub get
  • fvm flutter build apk --debug = flutter build apk --debug

~/.zshrc 화일에 다음을 추가하여 fvm 없이 flutter 명령어를 사용합니다.

# export PATH=$PATH:~/development/flutter/bin
export PATH="$PATH:$HOME/fvm/default/bin"

function flutterfvm() {
  if [ -d ".fvm/flutter_sdk" ]; then
    .fvm/flutter_sdk/bin/flutter "$@"
  else
    flutter "$@"
  fi
}
alias flutter=flutterfvm

.fvmrc

{
  "flutter": "3.24.5"
}

압축화일 설치 제거 & project FVM 사용

$ mv ~/development/flutter ~/development/flutter_old

~/.zshrc

# export PATH=$PATH:~/development/flutter/bin
# export PATH="$PATH:$HOME/fvm/default/bin"

# function flutterfvm() {
#   if [ -d ".fvm/flutter_sdk" ]; then
#     .fvm/flutter_sdk/bin/flutter "$@"
#   else
#     flutter "$@"
#   fi
# }
# alias flutter=flutterfvm

alias flutter='fvm flutter'

$ brew install dart

$ dart pub global activate fvm

0개의 댓글