Flutter

Flutter의 pubspec.yaml 설정 방법과 활용

wsstar 2025. 3. 31. 07:00
728x90
반응형

Flutter의 pubspec.yaml 설정 방법과 활용

pubspec.yaml 파일은 Flutter 프로젝트에서 패키지 관리, 앱 메타데이터, 리소스 설정 등을 담당하는 중요한 파일입니다. 이 파일을 올바르게 설정하면 패키지를 쉽게 관리하고, 앱의 아이콘, 스플래시 스크린, 폰트, 이미지 등을 구성할 수 있습니다.

이 글에서는 Flutter의 pubspec.yaml 파일을 설정하는 방법과 주요 항목에 대해 설명하겠습니다.


1. pubspec.yaml 파일 개요

pubspec.yamlYAML 형식으로 작성되며, Flutter 프로젝트의 기본 정보를 포함하고 있습니다. 주요 역할은 다음과 같습니다.

  • 패키지 의존성 관리: 앱에서 사용할 패키지를 선언
  • 앱 정보 설정: 앱의 이름, 버전, 빌드 번호 지정
  • 리소스 추가: 이미지, 폰트, 아이콘 등 설정
  • 실행 환경 정의: 지원하는 Flutter 및 Dart 버전 설정

이제 pubspec.yaml의 주요 항목을 하나씩 살펴보겠습니다.


2. 프로젝트 기본 설정

Flutter 프로젝트의 이름, 설명, 버전을 설정하는 부분입니다.


name: my_flutter_app  # 프로젝트 이름
description: "Flutter 앱 예제"  # 앱 설명
publish_to: "none"  # 앱을 공개하지 않을 경우 "none" 설정
version: 1.0.0+1  # 앱 버전 (메이저.마이너.패치+빌드번호)
  • name: 프로젝트의 패키지 이름
  • description: 앱 설명 (pub.dev에 배포할 경우 필수)
  • publish_to: pub.dev에 공개 여부 설정 (none이면 비공개)
  • version: 앱 버전 (1.0.0은 버전, +1은 빌드 번호)

3. 패키지 의존성 관리

Flutter에서 패키지를 추가하려면 dependenciesdev_dependencies 섹션을 설정해야 합니다.

(1) 기본 패키지 의존성


dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2  # iOS 스타일 아이콘
  http: ^0.13.5  # 네트워크 요청
  • flutter: → Flutter SDK를 사용
  • cupertino_icons: → iOS 스타일 아이콘 제공
  • http: → 네트워크 요청을 위한 HTTP 패키지

(2) 개발 환경에서만 필요한 패키지

개발 및 테스트에서만 필요한 패키지는 dev_dependencies에 추가합니다.


dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_launcher_icons: ^0.9.2  # 앱 아이콘 생성 패키지

개발 환경 패키지는 flutter pub get 실행 시 자동 설치됩니다.


4. 실행 환경 정의

Flutter 및 Dart의 최소 요구 버전을 정의합니다.


environment:
  sdk: ">=2.18.0 < 3.0.0"
  • sdk: Flutter가 사용할 Dart 버전 범위

이 설정을 통해 특정 Dart 버전에서만 프로젝트가 실행되도록 제한할 수 있습니다.


5. 앱 리소스 설정

(1) 앱 아이콘 설정

앱 아이콘을 설정하려면 flutter_launcher_icons 패키지를 추가한 후, 아래처럼 설정합니다.


flutter_icons:
  android: true
  ios: true
  image_path: "assets/icon/app_icon.png"

명령어 실행:


flutter pub run flutter_launcher_icons:main

(2) 이미지 추가

앱에서 사용할 이미지를 설정하려면 flutter 섹션에 추가해야 합니다.


flutter:
  assets:
    - assets/images/logo.png
    - assets/images/background.jpg

위 설정을 통해 이미지 파일을 앱에서 사용할 수 있습니다.

(3) 폰트 추가

사용자 지정 폰트를 추가하려면 아래와 같이 설정합니다.


flutter:
  fonts:
    - family: Roboto
      fonts:
        - asset: assets/fonts/Roboto-Regular.ttf
        - asset: assets/fonts/Roboto-Bold.ttf
          weight: 700

이제 Flutter 코드에서 Roboto 폰트를 사용할 수 있습니다.


6. 의존성 버전 관리

패키지 버전을 효율적으로 관리하는 방법:

  • 고정된 버전 사용: 특정 버전을 사용하려면 http: 0.13.5처럼 명시
  • 최신 패치 업데이트 허용: ^0.13.00.13.x까지 자동 업데이트
  • 최신 버전 유지: flutter pub upgrade 실행

(1) 특정 패키지만 업데이트


flutter pub upgrade http

(2) 모든 패키지 최신화


flutter pub upgrade

(3) 의존성 충돌 해결

패키지 충돌 시 dependency_overrides를 사용하여 특정 버전을 강제 지정할 수 있습니다.


dependency_overrides:
  http: 0.13.4

결론

pubspec.yaml 파일을 적절히 설정하면 프로젝트 관리가 편리해집니다.

  • 패키지 관리: dependenciesdev_dependencies 설정
  • 앱 리소스 설정: 이미지, 폰트, 아이콘 추가
  • 버전 관리: flutter pub upgrade 활용

이제 pubspec.yaml을 활용하여 더욱 효율적인 Flutter 프로젝트를 구축해 보세요!

728x90
반응형