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

종속성

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

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

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

직접 및 간접 종속성

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

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

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

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

프로젝트의 종속성이 되는지 여부에 관계없이 패키지 관리자는 설치할 각 패키지의 버전을 결정합니다. 이를 위해 우선 순위가 높은 버전이 다른 요구 사항을 위반하지 않는 한 간접 종속성보다 직접 종속성에 더 높은 우선 순위를 부여합니다.

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

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

이러한 해결 전략은 언제든지 수동으로 오버라이드할 수 있습니다. 이렇게 하려면 프로젝트 매니페스트에서 특정 버전을 요청하십시오(Package Manager 창에서 설치하거나 매니페스트를 직접 편집). 그러면 다른 해결 전략보다 우선 순위가 더 높은 직접 종속성이 만들어집니다.

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