LoginSignup
0
0

More than 1 year has passed since last update.

Goのライブラリのversion管理に関してメモる

Last updated at Posted at 2021-05-08

ふと耳にしたので箇条書きでメモる。間違ってたらごめんなさい。

  • 「パッケージ」はモジュールより細かい、可視性の制御単位
  • Golangaでは、依存グラフがどのように解決されたかの情報を含むlockファイルは存在しない。
    • 以下の方法で解決している。
  • go.modには下限制約しか書けず、インストールするモジュールは最小(最古)バージョンに解決する
    • (c.f) bundleだと上限も制限でき、インストールするモジュールは依存関係を満たした上での最新バージョンになっていたはず
    • 同一パッケージの下限制約のmajor versionが違ったらどうなる?
    • どうなるかはわからないが、以下の方法でこの問題を避けることはできる。
  • メジャーバージョンをパッケージ名に含める(e.g. module github.com/my/mod/v2)ことで、プロジェクト内で同一パッケージの複数のバージョンが共存することが許容される。(Semantic Import Versioningと呼ばれる) → 参考
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0