ホームページ > バックエンド開発 > Golang > 個人用 Git リポジトリで「go get」でパッケージを利用できるようにするにはどうすればよいですか?

個人用 Git リポジトリで「go get」でパッケージを利用できるようにするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-03 12:28:02
オリジナル
855 人が閲覧しました

How to Make a Package Available for

個人 Git リポジトリでの「go get」の使用: 総合ガイド

課題

個人用 Git リポジトリでパッケージを「go get」できるようにしようとすると、「インポート パスが認識されません」というエラー メッセージが表示されることがよくあります。この記事では、この問題に対する包括的な解決策を提供します。

META タグについて

Go では、パッケージの内容を指定する Git リポジトリのルート HTML ページに META タグが必要です。インポートパスとリポジトリURL。構文は次のとおりです。

1

<meta name="go-import" content="import_path git repo_url">

ログイン後にコピー

サーバーのセットアップ

「go get」機能が動作するには、Git リポジトリをホストするサーバーを構成する必要があります。 「?go-get=1」パラメータを使用してリクエストが行われたときに META タグを返すようにします。

推奨 nginx 構成

次の nginx 書き換えルールを使用できます。これを達成するために使用されます:

1

2

3

4

5

6

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 タグを返すはずです:

1

<meta content='mygit.server/group/project git git+ssh://[email protected]/group/project.git' name='go-import'>

ログイン後にコピー

パッケージのテスト

サーバーを構成した後、パッケージが "go get" に利用できるかどうかを確認できます。次のコマンドを実行します:

1

<code class="Bash">go get example.com/user/package</code>

ログイン後にコピー

このコマンドはパッケージを正常にダウンロードしてインストールします。

以上が個人用 Git リポジトリで「go get」でパッケージを利用できるようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート