이야기박스
심심하여 시작한, Mac에서 Flutter 설치 및 실행 본문
카페에 왔는데, 할 것도 없고 심심해서 해보는 flutter 설치하고 간단한 예제도 돌려보았습니다.
참고로 제 컴퓨터는 m2 Air 환경입니다. 아래 설치 방법 및 스크립트는 m2에서 동작하였다는 것을 감안해 주시면 좋겠습니다.
설치
Github을 통해서 설치하는 방법과 빌드된 압축 파일을 이용하여 설치하는 방법 두 가지가 있습니다. 저는 이 중에 후자로 선택하였습니다.
사전에 rosetta 업그레이드 먼저 진행해줍니다.
$ sudo softwareupdate --install-rosetta --agree-to-license
이제 flutter를 설치해 봅니다. 저는 임의의 Bin 폴더를 생성하여 거기에 바이너리를 넣어주었습니다.
$ cd ~/Bin
$ wget https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_arm64_3.10.4-stable.zip
$ unzip flutter_macos_arm64_3.10.4-stable.zip
~/.zshrc에 flutter PATH를 등록해 줍니다.
$ vi ~/.zshrc
----
export PATH="$PATH:`pwd`/flutter/bin"
----
$ source ~/.zshrc
설치가 잘 되었는지 아래 명령어로 체크해 볼 수 있습니다.
$ flutter --version
Flutter 3.10.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 682aa387cf (4 days ago) • 2023-06-05 18:04:56 -0500
Engine • revision 2a3401c9bb
Tools • Dart 3.0.3 • DevTools 2.23.1
IDE 세팅
다른 IDE 설치하기 귀찮아서 IntelliJ에 플러그인 설치해서 해보았습니다. Flutter를 쓰시는 분들은 어떠한 IDE를 쓸지 궁금하긴 하네요.
패키지 이름은 snake case로 작성해야 한다고 합니다. Dart의 컨벤션인 듯합니다.
프로젝트 생성을 하면 아래와 같은 패키지 구조가 자동 생성 됩니다.
`lib` 에서 코드를 직접 작성하면, 각 플랫폼 (macos, linux, android, ios) 등으로 자동 변환해서 뿌려주는 듯합니다.
코드 작성 없이 기본 생성 코드로 한번 실행해 보겠습니다.
IntelliJ 환경에서는 위처럼 플랫폼을 지정하고, main.dart를 실행하면 아래처럼 데모 화면이 나옵니다.
터미널 실행
IDE의 노예가 될 순 없습니다. CLI로 실행하는 법도 배워봅니다.
# devices 사용 가능한 확인
$ flutter devices
# run
$ flutter run -d macOS
결과는 동일합니다.
번외. 오픈소스를 통해 Flutter 사용 맛보기 /w chatgpt UI
온라인에서 제공되고 있는 chatGPT flutter 버전을 다운로드하여 실행해 보았습니다.
$ git clone https://github.com/hadikachmar3/ChatGPT_flutter_course
패키지 관리
오픈소스를 사용하다 보니 패키지 관리에 대해서도 배울 수 있었습니다. java, kotlin이 maven, gradle, sbt 등의 시스템을 이용하여 관리를 하듯이 flutter는 pubspec.yaml이라는 파일을 통해서 관리할 수 있습니다.
참고로 maven처럼 https://pub.dev/ 에서 오픈된 패키지를 찾고 사용할 수 있습니다.
# flutter pub 명령어
- pub get: 이 명령어는 pubspec.yaml 파일에 정의된 패키지 종속성을 읽어서 이를 설치합니다. 이 명령은 프로젝트를 처음 시작하거나 패키지 종속성을 업데이트 했을 때 사용됩니다.
- pub upgrade: pub get과 비슷하게 패키지를 설치하는 역할을 하지만, 이미 설치된 패키지가 있으면 이를 최신 버전으로 업그레이드합니다. 이는 프로젝트 내의 패키지를 최신 상태로 유지하고 싶을 때 유용합니다.
- pub outdated: 이 명령어는 현재 프로젝트의 패키지 종속성이 최신 버전인지 아닌지를 확인하는 데 사용됩니다. 이 명령어를 실행하면 현재 버전, 가능한 업그레이드 버전, 그리고 최신 버전을 보여줍니다. 이를 통해 패키지의 종속성을 관리하는데 도움이 됩니다.
실행 잘 되는군요. 하지만 openai 쿼터를 다 쓴 관계로.. chatgpt에게 질문을 날려보지는 못하였습니다.
가끔 심심할 때마다 flutter 만져보면서 놀아야겠습니다.
'Programming Language' 카테고리의 다른 글
Go. 왜 빈 struct{}를 context.Value()의 키로 사용할까? (0) | 2022.05.19 |
---|---|
Go. gRPC 사용해보기 (0) | 2022.05.11 |
Go Test 간단하게 리뷰 (0) | 2022.02.10 |