개인 Git 저장소에서 "go get" 사용: 종합 가이드
도전
개인 Git 저장소에서 패키지를 "go get"할 수 있도록 만들려고 하면 "인식할 수 없는 가져오기 경로"라는 오류 메시지가 나타나는 경우가 많습니다. 이 문서에서는 이 문제에 대한 포괄적인 솔루션을 제공합니다.
META 태그 이해
Go에서는 패키지의 내용을 지정하는 Git 저장소의 루트 HTML 페이지에 META 태그가 필요합니다. 가져오기 경로 및 저장소 URL. 구문은 다음과 같습니다.
<meta name="go-import" content="import_path git repo_url">
서버 설정
"go get" 기능이 작동하려면 Git 저장소를 호스팅하는 서버를 구성해야 합니다. "?go-get=1" 매개변수로 요청이 있을 때 META 태그를 반환합니다.
권장 nginx 구성
다음 nginx 재작성 규칙은 다음과 같습니다. 이를 달성하는 데 사용됩니다.
location ~ "(/[^/]+/[^/]+)(/.*)?" { if ($arg_go-get = "1") { echo '<html><head><meta name="go-import" content="my.domain.com git git+ssh://[email protected]"/></head></html>'; } try_files $uri $uri/index.html $uri.html @gitlab; }
이 규칙은 Git 저장소에 대한 SSH 액세스를 가정합니다. HTTPS를 사용하는 경우 그에 맞게 URL을 수정하세요.
META 태그 예시
"http://mygit.server/group/project?go-get=1 요청" "는 다음 META 태그를 반환해야 합니다.
<meta content='mygit.server/group/project git git+ssh://[email protected]/group/project.git' name='go-import'>
패키지 테스트
서버를 구성한 후 해당 패키지를 "go get"에 사용할 수 있는지 확인할 수 있습니다. 다음을 실행하여:
<code class="Bash">go get example.com/user/package</code>
이 명령은 패키지를 성공적으로 다운로드하고 설치해야 합니다.
위 내용은 개인 Git 저장소에서 패키지를 \'go get\'에 사용할 수 있게 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!