'같은 이름의 프로젝트가 이미 있습니다'라는 Git 오류 문제 해결

이 페이지에서는 Looker에서 'Project with that name already exists(이 이름의 프로젝트가 이미 있음)' 오류를 해결하는 방법을 설명합니다. 이 오류는 UI에 표시되지 않는 프로젝트라도 다른 프로젝트에서 이미 사용 중인 이름으로 새 프로젝트를 만들려고 할 때 발생할 수 있습니다. 이 오류는 일반적으로 프로젝트의 잔여물(Git 브랜치 또는 서버 파일 시스템에 있는 경우가 많음)이 아직 남아 있기 때문에 발생합니다.

문제 해결 트리

다음 의사결정 트리를 사용하여 이 오류를 해결하세요. 새 탭에서 의사결정 트리를 열어 확대합니다.

문제 해결 단계

다음 섹션에서는 트리의 시나리오를 자세히 설명합니다.

1단계: 개발 브랜치 확인

프로젝트의 잔여물이 하나 이상의 개발 브랜치에 있을 수 있습니다. 개발 브랜치를 확인하려면 다음 단계를 따르세요.

  1. 개발 모드를 사용 설정합니다.
  2. LookML 프로젝트로 이동하여 모든 개발 브랜치(특히 개인 브랜치)에서 이름이 충돌하는 프로젝트를 확인합니다.
  3. 이름이 충돌하는 프로젝트를 찾으면 IDE에서 프로젝트를 삭제하고 변경사항을 커밋한 후 프로덕션에 배포하여 남아 있는 Git 참조를 삭제합니다.

2단계: Git 연결 재설정

Git 연결을 재설정하면 로컬 저장소의 불일치를 강제로 정리할 수 있습니다. Git 연결을 재설정하려면 다음 단계를 따르세요.

  1. 프로젝트의 프로젝트 설정 으로 이동합니다.
  2. 구성 탭에서 Git 연결 재설정 을 선택합니다.
  3. Git URL을 다시 입력합니다. SSH를 사용하는 경우 새 배포 키를 Git 제공업체에 업로드합니다.

3단계: 대기 중인 프로젝트 확인

프로젝트 자체가 생성되지 않은 상태에서 프로젝트 이름을 사용하여 모델이 구성되었을 수 있습니다. 이렇게 하면 대기 중인 프로젝트 가 생성됩니다. 대기 중인 프로젝트를 확인하려면 다음 단계를 따르세요.

  1. 개발 모드를 사용 설정합니다.
  2. LookML 프로젝트 페이지를 봅니다.
  3. 대기 중인 프로젝트 섹션을 확인합니다. 이름이 충돌하는 프로젝트가 있으면 대기 중인 모델 구성을 삭제합니다.

4단계: 서버 측 해결 (베어메탈 저장소만 해당)

Looker 인스턴스에서 베어 Git 저장소 (고객 호스팅)를 사용하는 경우 파일이 서버에 남아 있을 수 있습니다. 서버에서 파일을 정리하려면 Looker 호스트 서버에 로그인하고 프로젝트와 연결된 베어메탈 저장소 폴더의 이름을 바꾸거나 삭제합니다.

  • 디렉터리 이름 바꾸기 또는 삭제: ~/models/YOUR_PROJECT_TO_DELETE
  • 베어메탈 저장소 디렉터리 이름 바꾸기 또는 삭제: ~/bare_models/YOUR_PROJECT_TO_DELETE.git

5단계: Looker API를 사용하여 프로젝트 삭제

이전 단계로도 오류가 해결되지 않으면 Looker API를 사용하여 프로젝트를 수동으로 삭제하여 내부 정리를 강제할 수 있습니다. 이 메서드는 4.0 API 엔드포인트를 사용하며 Looker 관리자 권한이 필요합니다.

1. 액세스 토큰 가져오기

API 사용자 인증 정보 (클라이언트 ID 및 보안 비밀번호)를 사용하여 전달자 토큰을 가져옵니다.

curl -d "client_id=CLIENT_ID&client_secret=CLIENT_SECRET" https://INSTANCE_HOSTNAME.cloud.looker.com/api/4.0/login

응답에는 access_token이 포함됩니다.

2. 세션을 개발 모드로 전환

개발 모드에서 프로젝트를 삭제해야 합니다. 개발 모드로 전환하면 API 세션 컨텍스트가 변경됩니다.

curl -X PATCH "https://INSTANCE_HOSTNAME.cloud.looker.com/api/4.0/session" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer BEARER_TOKEN" \
-d '{"workspace_id": "dev"}'

3. 프로젝트 삭제

세션이 개발 모드에 있으면 DELETE /projects/{project_id} 엔드포인트를 사용하여 프로젝트를 삭제합니다.

curl -X DELETE "https://INSTANCE_HOSTNAME.cloud.looker.com/api/4.0/projects/PROJECT_ID_TO_DELETE" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer BEARER_TOKEN"

호출이 성공하면 빈 응답 (204 No Content) 또는 삭제 성공 메시지가 반환됩니다. 이제 Looker UI에서 프로젝트를 다시 만들 수 있습니다.

이러한 API 호출은 Postman과 같은 API 도구를 사용하여 실행할 수도 있습니다.

최종 검토 및 지원

이러한 문제 해결 단계로도 오류가 해결되지 않으면 지원팀에 문의하여 추가 문제 해결을 받으세요.

추가 리소스