Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

Dependabot 오류 문제 해결

Dependabot에서 종속성을 업데이트하기 위한 끌어오기 요청을 발생하지 못하는 경우가 있습니다. 오류를 검토하고 Dependabot의 차단을 해제할 수 있습니다.

참고: 이 기능을 사용하려면 먼저 사이트 관리자가 GitHub Enterprise Server 인스턴스에 대해 Dependabot updates을(를) 설정해야 합니다. 자세한 내용은 "엔터프라이즈에 Dependabot 사용"을 참조하세요.

Dependabot 오류 정보

Dependabot은 종속성을 업데이트하기 위한 끌어오기 요청을 발생시킵니다. 리포지토리가 구성된 방식에 따라 Dependabot은 버전 업데이트 및/또는 보안 업데이트를 위한 끌어오기 요청을 발생시키기도 합니다. 이러한 끌어오기 요청은 다른 끌어오기 요청과 동일한 방식으로 관리하지만 몇 가지 추가 명령을 사용할 수 있습니다. Dependabot 종속성 업데이트를 사용하도록 설정하는 방법에 대한 자세한 내용은 "Dependabot 보안 업데이트 구성." 및 "Dependabot 버전 업데이트 구성"을 참조하세요.

Dependabot이 끌어오기 요청을 발생하지 못하도록 방지하는 것이 있으면 오류로 보고됩니다.

Dependabot security updates 오류 조사

Dependabot이 Dependabot 경고를 수정하기 위한 끌어오기 요청을 만들지 못하도록 차단되면 경고에 오류 메시지를 게시합니다. Dependabot alerts 보기에는 아직 확인되지 않은 경고 목록이 표시됩니다. 경고 보기에 액세스하려면 리포지토리의 보안 탭에서 Dependabot alerts 를 클릭합니다. 취약한 종속성을 수정할 끌어오기 요청이 생성된 경우 경고에는 해당 끌어오기 요청에 대한 링크가 포함됩니다.

두 개의 경고를 보여 주는 Dependabot alerts 보기의 스크린샷. 한 경고의 오른쪽에는 "#353"이라는 제목의 끌어오기 요청에 대한 링크가 주황색 윤곽선으로 강조 표시됩니다.

경고에 끌어오기 요청 링크가 없는 여러 가지 이유가 있습니다.

  1. Dependabot security updates가 리포지토리에 대해 사용하도록 설정되지 않았습니다.

  2. 경고는 잠금 파일에 명시적으로 정의되지 않은 간접 또는 전이적 종속성에 대한 것입니다.

  3. Dependabot이 끌어오기 요청을 만들지 못하도록 차단하는 오류가 발생했습니다.

오류로 인해 Dependabot이 끌어오기 요청을 만들지 못하게 차단된 경우 경고를 클릭하여 오류의 세부 정보를 표시할 수 있습니다.

Dependabot version updates로 오류 조사

Dependabot이 에코시스템에서 종속성을 업데이트하기 위한 끌어오기 요청을 만들지 못하도록 차단되면 매니페스트 파일에 오류 아이콘이 게시됩니다. Dependabot에서 관리하는 매니페스트 파일이 Dependabot 탭에 나열됩니다. 이 탭에 액세스하려면 리포지토리의 인사이트 탭에서 종속성 그래프를 클릭한 다음 Dependabot 탭을 클릭합니다.

Dependabot 보기의 스크린샷 경고 아이콘과 "10시간 전에 마지막으로 확인됨"이라는 링크가 주황색 윤곽선으로 강조 표시됩니다.

매니페스트 파일에 대한 로그를 보려면 마지막으로 확인한 시간 전 링크를 클릭한 다음 로그 보기를 클릭합니다.

Dependabot 오류 이해

보안 업데이트에 대한 끌어오기 요청은 취약성에 대한 수정 사항을 포함하는 최소 버전으로 취약한 종속성을 업그레이드하는 역할을 합니다. 반면 버전 업데이트에 대한 끌어오기 요청은 패키지 매니페스트 및 Dependabot 구성 파일에서 허용하는 최신 버전으로 종속성을 업그레이드하는 역할을 합니다. 따라서 일부 오류는 한 가지 유형의 업데이트와 관련이 있습니다.

Dependabot은 종속성을 취약하지 않은 버전으로 업데이트할 수 없습니다.

보안 업데이트(전용) . Dependabot은 이 리포지토리에 대한 종속성 그래프의 다른 종속성을 중단하지 않고 취약한 종속성을 보안 버전으로 업데이트하는 끌어오기 요청을 만들 수 없습니다.

종속성이 있는 모든 애플리케이션에는 종속성 그래프, 즉 애플리케이션이 직접 또는 간접적으로 의존하는 모든 패키지 버전의 방향성 비순환 그래프가 있습니다. 종속성이 업데이트될 때마다 이 그래프는 애플리케이션이 빌드되지 않는지 확인해야 합니다. 에코시스템에 깊고 복잡한 종속성 그래프(예: npm 및 RubyGems)가 있는 경우 전체 에코시스템을 업그레이드하지 않고 단일 종속성을 업그레이드하는 것은 불가능한 경우가 많습니다.

이 문제를 방지하는 가장 좋은 방법은 버전 업데이트를 사용하도록 설정하여 가장 최근에 릴리스된 버전으로 최신 상태를 유지하는 것입니다. 이렇게 하면 종속성 그래프를 중단하지 않는 간단한 업그레이드를 통해 하나의 종속성의 취약성을 해결할 가능성이 커집니다. 자세한 내용은 "Dependabot 버전 업데이트 구성.

최신 버전에 대해 열려 있는 끌어오기 요청이 이미 있으므로 Dependabot을 필요한 버전으로 업데이트할 수 없습니다.

보안 업데이트(전용) . 이 종속성을 업데이트하기 위해 열려 있는 끌어오기 요청이 이미 있으므로 Dependabot은 취약한 종속성을 보안 버전으로 업데이트하는 끌어오기 요청을 만들지 않습니다. 단일 종속성에서 취약성이 검색되고 종속성을 최신 버전으로 업데이트하기 위한 끌어오기 요청이 이미 열려 있으면 이 오류가 표시됩니다.

두 가지 옵션이 있습니다. 열려 있는 끌어오기 요청을 검토하고 변경 내용이 안전하다고 확신하는 즉시 병합하거나 끌어오기 요청을 닫고 새 보안 업데이트 끌어오기 요청을 트리거할 수 있습니다. 자세한 내용은 “수동으로 Dependabot 끌어오기 요청 트리거”를 참조하세요.

업데이트하는 동안 Dependabot이 시간 초과됨

Dependabot은 필요한 업데이트를 평가하고 끌어오기 요청을 준비하는 데 허용되는 최대 시간보다 오래 걸렸습니다. 이 오류는 일반적으로 많은 매니페스트 파일이 있는 큰 리포지토리(예: 수백 개의 package.json 파일이 있는 npm 또는 yarn monorepo 프로젝트)에서만 표시됩니다. 또한 Composer 에코시스템에 대한 업데이트는 평가하는 데 더 오래 걸리며 시간이 초과될 수 있습니다.

이 오류는 해결하기 어렵습니다. 버전 업데이트 시간이 초과되면 allow 매개 변수를 사용하여 업데이트할 가장 중요한 종속성을 지정하거나 ignore 매개 변수를 사용하여 업데이트에서 일부 종속성을 제외할 수 있습니다. 구성을 업데이트하면 Dependabot에서 버전 업데이트를 검토하고 사용 가능한 시간에 끌어오기 요청을 생성할 수 있습니다.

보안 업데이트 시간이 초과되는 경우 버전 업데이트를 사용하도록 설정하여 종속성을 업데이트된 상태로 유지하여 이러한 일이 발생할 가능성을 줄일 수 있습니다. 자세한 내용은 "Dependabot 버전 업데이트 구성"을 참조하세요.

Dependabot은 더 이상 끌어오기 요청을 열 수 없습니다.

Dependabot에서 생성할 열려 있는 끌어오기 요청 수에는 제한이 있습니다. 이 제한에 도달하면 새 끌어오기 요청이 열리지 않으며 이 오류가 보고됩니다. 이 오류를 해결하는 가장 좋은 방법은 열려 있는 끌어오기 요청 중 일부를 검토하고 병합하는 것입니다.

열려 있는 버전 업데이트 끌어오기 요청이 보안 업데이트 끌어오기 요청 생성을 차단할 수 없도록 보안 및 버전 업데이트 끌어오기 요청에 대한 별도의 제한이 있습니다. 보안 업데이트 끌어오기 요청에 대한 제한은 10입니다. 버전 업데이트 제한의 기본값은 5지만 구성 파일의 open-pull-requests-limit 매개 변수를 사용하여 변경할 수 있습니다. 자세한 내용은 "dependabot.yml 파일에 대한 구성 옵션"을 참조하세요.

이 오류를 해결하는 가장 좋은 방법은 기존 끌어오기 요청 중 일부를 병합하거나 닫고 새 끌어오기 요청을 수동으로 트리거하는 것입니다. 자세한 내용은 “수동으로 Dependabot 끌어오기 요청 트리거”를 참조하세요.

Dependabot이 종속성을 확인하거나 액세스할 수 없음

Dependabot이 리포지토리에서 종속성 참조를 업데이트해야 하는지 여부를 확인하려고 하지만 하나 이상의 참조된 파일에 액세스할 수 없는 경우 “Dependabot에서 언어 종속성 파일을 확인할 수 없습니다.”라는 오류 메시지와 함께 작업이 실패합니다. API 오류 유형은 git_dependencies_not_reachable입니다.

마찬가지로 Dependabot이 종속성이 있는 프라이빗 패키지 레지스트리에 액세스할 수 없는 경우 다음 오류 중 하나가 생성됩니다.

  • “Dependabot은 프라이빗 패키지 레지스트리의 종속성에 도달할 수 없음”
    (API 오류 유형: private_source_not_reachable)
  • “Dependabot은 프라이빗 패키지 레지스트리에 인증할 수 없음”
    (API 오류 유형: private_source_authentication_failure)
  • “프라이빗 패키지 레지스트리를 기다리는 동안 Dependabot의 시간이 초과됨”
    (API 오류 유형: private_source_timed_out)
  • “Dependabot에서 프라이빗 패키지 레지스트리에 대한 인증서의 유효성을 검사할 수 없음”
    (API 오류 유형: private_source_certificate_failure)

Dependabot이 종속성 참조를 성공적으로 업데이트할 수 있도록 하려면 참조된 모든 종속성이 액세스 가능한 위치에서 호스트되는지 확인합니다.

버전 업데이트(전용). 보안 또는 버전 업데이트를 실행할 때 일부 에코시스템은 원본의 모든 종속성을 확인하여 업데이트에 성공했는지 확인할 수 있어야 합니다. 매니페스트 또는 잠금 파일에 프라이빗 종속성이 포함된 경우 Dependabot은 해당 종속성이 호스트된 위치에 액세스할 수 있어야 합니다. 조직 소유자는 동일한 조직 내 프로젝트의 종속성이 포함된 프라이빗 리포지토리에 대한 액세스 권한을 Dependabot에 부여할 수 있습니다. 자세한 내용은 "조직의 보안 및 분석 설정 관리"을 참조하세요. 리포지토리의 dependabot.yml 구성 파일에서 프라이빗 레지스트리에 대한 액세스를 구성할 수 있습니다. 자세한 내용은 "dependabot.yml 파일에 대한 구성 옵션"을 참조하세요. 또한 Dependabot은 모든 패키지 관리자에 대한 프라이빗 GitHub 종속성을 지원하지 않습니다. 자세한 내용은 "Dependabot 버전 업데이트 정보"을 참조하세요.

수동으로 Dependabot 끌어오기 요청 트리거

Dependabot의 차단을 해제하는 경우 끌어오기 요청을 만들려는 새 시도를 수동으로 트리거할 수 있습니다.

  • 보안 업데이트 - 수정한 오류를 보여 주는 Dependabot 경고를 표시하고 Dependabot 보안 업데이트 만들기를 클릭합니다.
  • 버전 업데이트 - 리포지토리의 인사이트 탭에서 종속성 그래프를 클릭한 다음 Dependabot 탭을 클릭합니다. 마지막으로 확인한 시간 전을 클릭하면 버전 업데이트에 대한 마지막 확인 중에 Dependabot이 생성된 로그 파일을 볼 수 있습니다. 업데이트 확인을 클릭합니다.

추가 참고 자료