language

Go Module 雜談

v3.0.5 之後各 NF 使用 go module 維護所使用的 lib version,這邊簡單紀錄 go module 原理、free5GC 會面臨的問題、debug 手法 Golang 原本沒有打算推出套件管理系統,因為據說 Google 內部並不會使用舊版 lib,而是使用單一程式庫(Mono Repo)[1],若任何套件有跟新,就直接讓全部有使用此套件的軟體使用新版套件。可是外部社群不能這樣玩,所以逐漸推出了各自的套件版本管理系統,諸如 go dep, gopkg.in, vgo 等等。但在 go v1.11 Golang 社群 (或是 Google 內部 golang 維護者) 推出了 go module 系統,直接否定所有外部版本管理套件,因此當時也惹來了 go dep 開發者的不滿與爭吵[2]。