개인 Git 저장소에서 패키지를 \'go get\'에 사용할 수 있게 만드는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-03 12:28:02
원래의
765명이 탐색했습니다.

How to Make a Package Available for

개인 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿