Version: 2019.4
언어: 한국어
프로젝트 매니페스트
내장 종속성

종속성

프로젝트 매니페스트의 dependencies 속성은 패키지 이름을 버전에 매핑하는 JSON 객체입니다. 버전 숫자는 패키지 레지스트리에서 다운로드할 패키지 버전을 나타냅니다. 예를 들어 다음과 같습니다.

{
  "dependencies": {
    "com.my-package": "2.3.1",
    "com.my-other-package": "1.0.1-preview.1",
       etc.
  }
}

버전 숫자 사용 외에도 패키지 관리자는 다음과 같은 프로젝트 종속성 추가를 지원할 수도 있습니다.

직접 및 간접 종속성

직접 종속성은 프로젝트 수준 종속성입니다. 패키지 관리자 창을 통해 패키지를 설치하거나 manifest.json 프로젝트 파일을 수동으로 편집하여 종속성을 명시적으로 추가하면 다음과 같이 직접 패키지 종속성이 생성됩니다().

직접 종속성 (A): 프로젝트 매니페스트의 패키지 요청
직접 종속성 (A): 프로젝트 매니페스트의 패키지 요청

패키지는 자체 종속성을 다른 패키지에 선언할 수 있습니다. 그러한 패키지 종속성은 패키지를 설치할 때 프로젝트의 간접() 또는 중간적 종속성이 됩니다.

간접 종속성(B): 다른 패키지 매니페스트의 패키지 요청
간접 종속성(B): 다른 패키지 매니페스트의 패키지 요청

패키지 관리자는 프로젝트의 종속성이 어떻게 되든 상관없이 설치할 각 패키지 버전을 결정합니다. 이를 수행하기 위해 더 높은 우선순위 버전이 다른 요구 사항을 위반하지 않는 한 간접 종속성보다 직접 종속성을 우선시합니다.

이러한 평가를 종속성 해결이라고 하며 다음의 논리를 따릅니다.

  1. 직접 종속성의 버전을 선택합니다.
  2. 직접 종속성이 없고 빌트인 패키지 버전인 경우 빌트인 버전을 선택합니다.
  3. 직접 종속성이 없고 빌트인 버전이 아닌 경우 두 개 이상 패키지의 간접 종속성인지 확인합니다.
    • 이것이 프로젝트에서 단 하나의 패키지에 대한 간접 종속성인 경우 충돌이 없으므로 다음 버전 중 더 높은 버전을 선택합니다.
      • 이 간접 종속성의 버전
      • Unity에서 요구하는 최소 버전
    • 여러 개의 간접 종속성이 있는 경우 간접 종속성이 두 개 이상의 버전을 요청하면 충돌이 발생할 수 있습니다. 패키지 관리자는 자동 충돌 해결 전략을 통해 대부분의 충돌을 해결합니다.

경우에 따라 이러한 해결 전략을 수동으로 오버라이드할 수 있습니다. 이렇게 하기 위해 프로젝트 매니페스트에 특정 버전을 요청합니다(패키지 관리자 창에서 설치하거나 매니페스트를 직접 편집하여). 이렇게 하면 모든 해결 전략보다 우선하는 직접 종속성을 만듭니다.

프로젝트 매니페스트
내장 종속성