Go 実行可能ファイルからモジュール バージョンを抽出する
Go バイナリ実行可能ファイルには、Go ツールによってモジュールと依存関係の情報が埋め込まれます。この情報には、runtime/debug.ReadBuildInfo() 関数を使用してアクセスできます。
問題
Go 実行可能ファイルで使用されているモジュールのバージョンを表示する必要があります。しかし、実装に苦労しています。 ldflags の使用を検討しましたが、スケーラブルではありません。
解決策
debug.ReadBuildInfo() は、次の内容を提供する debug.Module インスタンスのリストを返します。情報:
コード例
次のコードは、使用方法を示しています。 ReadBuildInfo() を使用してモジュールのバージョンを取得します:
<code class="go">package main import ( "fmt" "runtime/debug" ) func main() { bi, ok := debug.ReadBuildInfo() if !ok { // Handle failure } for _, dep := range bi.Deps { fmt.Printf("Dependency: %s, Version: %s\n", dep.Path, dep.Version) } }</code>
この例では、実行可能ファイルで使用されるすべての依存関係のパスとバージョンが出力されます。
以上がGo 実行可能ファイルからモジュールのバージョンを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。