혼자 개발할 때야 그냥 문제 없는 버전으로 알아서 버전 업데이트 필요할 때 해주고 말면 말고 하지만, 회사에서 팀으로 일하게 되면 팀원끼리 버전을 맞춰야 하지 않겠는가.
다른 팀원분이 하던 프로젝트에 작업해줘야 할 게 있어서 끼어들었는데 내 버전이 낮은 것 같길래 이참에 업데이트해서 맞춰주려고 했다.
그런데 그냥 ```flutter upgrade``` 내지는 ```brew upgrade flutter``` 명령어를 사용하게 되면 내 버전이 도리어 다른 팀원보다 높아질 수 있으니, 특정 버전으로 설치할 수 있는 방법을 찾아야 했다.
문제는 서치하면 깃허브에서 checkout 하고 크게 어렵지 않게 하시는 것 같던데, 나는 왜 안 됨..? 하면서 또 헤맸다는 것.
(원인부터 말하자면 homebrew를 통해 flutter를 설치했을 경우는 Git 리포지토리로 관리되지 않기 때문에 특정 버전 관리에 제한이 있다고 한다)
다음에 편히 보려고 내용 정리해두려고 한다.
1. Flutter 설치 경로 이동
Git 리포지토리에 접근하기 위해서 Flutter가 설치된 경로로 먼저 이동해줘야 한다.
1-a. 경로 찾기
나는 Android Studio를 사용하고 있기 때문에 IDE 통해서 확인하는 방법으로 확인했다.
경로를 알고 있다면 1-b로 바로 패스.
1. 좌측 상단 Android Studio → Settings
2. Languages & Frameworks → Flutter
1-b. 경로 이동
cd ~/flutter
2. Git으로 Flutter 설치 (기존에 Homebrew로 설치한 경우만 해당)
그런데 사실 나는 처음 화면이 아래 스샷과 같았다.
위에서도 잠깐 말했지만, 내가 기존에 Flutter를 설치할 때 Homebrew(Caskroom)를 통해 설치했기 때문이다. 이 경우 아예 git checkout을 사용할 수 없으므로, brew로 설치한 걸 삭제하고 다시 설치해줘야 한다.
여기 해당되지 않는 경우 바로 3번부터 계속 진행하면 된다.
2-a. Homebrew를 통해 설치된 Flutter를 제거
brew uninstall --cask flutter
2-b. Git을 통해 Flutter 설치
git clone https://github.com/flutter/flutter.git -b stable ~/flutter
2-c. 환경 변수 업데이트
편리한 사용을 위해 환경변수 한 줄 추가 (~/.bashrc, ~/.zshrc, 또는 ~/.bash_profile)
export PATH="$PATH:$HOME/flutter/bin"
설정 적용도 잊지 말기
source ~/.bash_profile
3. 특정 버전으로 전환
git fetch --all
git checkout 3.27.1
물론 1번에서 flutter 디렉토리로 이동해 온 상태여야 한다.
2번을 진행하고 온 경우 디렉토리 이동을 먼저 수행할 필요가 있다.
flutter --version
버전 체크 명령어지만 실행하면 설치부터 자동으로 진행되더라.
4. Android Studio에서 Flutter SDK 및 Dart SDK 경로 재설정 (2번 진행한 경우만 해당)
flutter를 지우고 새로 깔아줬기 때문에 경로 설정도 다시 필요하다.
1번에서처럼 flutter 경로 화면에 들어가서 ```...``` 버튼을 눌러 설치 폴더를 설정해준다.
왼쪽 사이드바를 보면 Dart도 바로 위에 있다.
Dart SDK 경로는 Flutter SDK 내에 flutter/bin/cache/dart-sdk로 포함되어 있다.
+ ) Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
그런데 사실 위 과정까지 진행한 뒤 flutter doctor를 해보면, Flutter 채널을 공식 채널로 변경하라는 경고가 뜬다.
🤔🤔..
음.. 일단 시키는대로 해보기로 했다.
flutter channel stable
명령어 실행하면 자동으로 다시 버전 업데이트를 진행하고, 완료되면 flutter doctor도 No issues found!로 말끔해진다.
(다만 버전이 3.27.2가 되었다. 같은 버전인 줄 알았는데 달라졌네..)
GPT 말로는 ```flutter version 3.27.1``` 같은 식으로 버전을 고정할 수 있다고 하는데, 정작 터미널은 찾을 수 없는 명령어라고 뱉어내더라.
팀 내에서 버전 기준으로 통일하는 게 아닐 채널 기준으로 버전을 맞추는 쪽으로 운영해야 하는 걸까 하는 생각을 했다. 팀원분이 전달해주신 버전 보면 그분 채널도 stable로 되어있는 것 같긴 하던데.. 일단은 작업을 진행해줘야 하니 여기까지만 찾아보는 걸로.
<도움 받은 링크들>
'개발노트 > Flutter' 카테고리의 다른 글
Invalid Executable. The executable ~ contains bitcode. (0) | 2025.02.05 |
---|---|
Android 13 이상을 타겟팅하는 모든 개발자는 앱에서 광고 ID를 사용하는지 여부를 Google Play에 알려야 합니다. (0) | 2025.02.04 |
Flutter에서 iOS TableView Section Header 같은 UI 구현하기 (0) | 2024.11.30 |
MVVM Clean Architecture (+Provider) (2) | 2024.11.26 |
Flutter에서 Firebase Authentication으로 이메일 로그인 구현하기 (0) | 2024.11.24 |