はじめに
Go Moduleの作成方法については、既に多くの記事が書かれているので取り上げないことにしました。
ここではモジュールの更新をミラー(レジストリ)に反映させる方法について述べます。
https://pkg.go.dev/ で検索可能なGoのモジュールは公式のミラー兼プロキシサイトである https://proxy.golang.org/ 経由で取得されています。
自作のモジュールを更新したときなど、すぐに反映されない場合は、このミラー経由でモジュールを取得するリクエストを送ればいいようです。
やり方
以下の2通りのやり方があります:
- HTTPでGETリクエストを送る
例:GET https://proxy.golang.org/example.com/my/module/@v/v1.0.0.info
-
GOPROXY=https://proxy.golang.org/
を指定して、module-aware1なgo get
を行う
例:GOPROXY="https://proxy.golang.org" GO111MODULE=on go get example.com/my/module@v1.0.0
後者について、GOPROXYのデフォルト値は "https://proxy.golang.org,direct"
(プロキシへのリクエストに失敗したら直ダウンロードする)なので2、ふつうは指定しなくてよいかと思います。
pkg.go.devへの反映までの時間は、自分が試したときは1〜5分程度でした。
以上。