🔥 패키지 의존성 정의하기

159자
3분

패키지를 사용하려면 먼저 패키지 매니페스트에 의존성과 버전을 정의해야 합니다. 그리고 해당 패키지에서 제공하는 프로덕트를 의존성으로 추가하면 됩니다. 예를 들어, https://github.com/apple/example-package-playingcard 패키지를 의존성으로 사용하고 싶다면 Package.swift 파일의 dependencies에 GitHub URL을 추가하세요.

swift
import PackageDescription
 
let package = Package(
    name: "MyPackage",
    dependencies: [
        .package(url: "<https://github.com/apple/example-package-playingcard.git>", from: "3.0.4"),
    ],
    targets: [
        .target(
            name: "MyPackage",
            dependencies: ["PlayingCard"]
        ),
        .testTarget(
            name: "MyPackageTests",
            dependencies: ["MyPackage"]
        ),
    ]
)
swift
import PackageDescription
 
let package = Package(
    name: "MyPackage",
    dependencies: [
        .package(url: "<https://github.com/apple/example-package-playingcard.git>", from: "3.0.4"),
    ],
    targets: [
        .target(
            name: "MyPackage",
            dependencies: ["PlayingCard"]
        ),
        .testTarget(
            name: "MyPackageTests",
            dependencies: ["MyPackage"]
        ),
    ]
)

이제 MyPackage 타겟에서 import PlayingCard를 사용할 수 있게 되었습니다.

이렇게 간단한 설정만으로도 다른 패키지를 프로젝트에서 손쉽게 활용할 수 있습니다. 패키지 의존성을 정의할 때는 사용할 패키지의 URL과 버전을 명시해 주는 것이 중요합니다. 그래야 Swift 패키지 매니저가 해당 버전의 패키지를 찾아 프로젝트에 통합해 줄 수 있습니다.

또한 타겟을 정의할 때 사용할 패키지의 프로덕트를 꼭 추가해야 합니다. dependencies 배열에 프로덕트 이름을 적어주면 됩니다. 그러면 해당 타겟 코드에서 패키지를 import하고 사용할 수 있습니다.

이와 같은 과정을 통해 개발자는 다양한 오픈소스 라이브러리와 프레임워크를 자신의 프로젝트에 쉽게 도입하고 활용할 수 있습니다. Swift 패키지 매니저 덕분에 더욱 빠르고 생산적인 개발이 가능해졌죠.

YouTube 영상

채널 보기
NestJS 역할 기반 접근 권한 부여 - Guard, Reflector | NestJS 가이드
NestJS 커스텀 데코레이터, createParamDecorator 사용 | NestJS 가이드
함수 객체의 보편적 구성 | 프로그래머를 위한 카테고리 이론
class-validator 와 DTO | NestJS 가이드
Pro펑터, 입력과 출력을 동시에 다루는 펑터 | 프로그래머를 위한 카테고리 이론
NestJS 커스텀 데코레이터 인자 전달 및 파이프 검증 활용법 | NestJS 가이드
변환 파이프로 컨트롤러 코드 깔끔하게 만들기 | NestJS 가이드
NestJS 인터셉터에서 map 연산자로 응답을 변환하는 방법 | NestJS 가이드