처음에는 공식문서에서 가이드한 방법으로 압축화일로 설치했습니다.
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]:

https://fvm.app/documentation/getting-started/installation, Pub
$ dart pub global activate fvm
fvm listfvm install <version>fvm use <version>fvm remove <version>fvm doctorfvm flutter clean = flutter cleanfvm flutter pub get = flutter pub getfvm 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"
}
$ 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