Go 実行可能ファイルからモジュールのバージョンを抽出するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-31 08:57:30
オリジナル
472 人が閲覧しました

How can I extract module versions from Go executables?

Go 実行可能ファイルからモジュール バージョンを抽出する

Go バイナリ実行可能ファイルには、Go ツールによってモジュールと依存関係の情報が埋め込まれます。この情報には、runtime/debug.ReadBuildInfo() 関数を使用してアクセスできます。

問題

Go 実行可能ファイルで使用されているモジュールのバージョンを表示する必要があります。しかし、実装に苦労しています。 ldflags の使用を検討しましたが、スケーラブルではありません。

解決策

debug.ReadBuildInfo() は、次の内容を提供する debug.Module インスタンスのリストを返します。情報:

  • パス: モジュールのpath
  • Version: モジュールのバージョン
  • Sum: モジュールのチェックサム
  • Replace: 置き換えられるモジュール

コード例

次のコードは、使用方法を示しています。 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!