個人 Git リポジトリでの "go get" の使用
パッケージの 1 つを、個人用 VPS では、「パッケージ example.com/user/package: 認識されないインポート パス」というエラーが発生する場合があります。この問題は、「go help importpath」ドキュメントに従って一見正しい構成を行った後でも発生します。
解決策は、「go get」リクエストに応答して特定のメタタグを返すようにサーバーを構成することです。特に 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; }
「go-get=1」引数を使用して指定された URL に対して「go get」リクエストが行われると、指定されたメタ タグは返される。このメタ タグには、インポート パス、バージョン管理タイプ (git)、およびリポジトリの SSH URL が含まれています。
SSH URL が正しいことを確認してください。これは go がパッケージのダウンロードとインストールに使用するものであるためです。 。 SSH の代わりに HTTPS を使用している場合は、それに応じてメタ タグを変更します。
以上が個人用 Git リポジトリで「go get」が失敗するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。