Package และ Dependency ของ Go
การจัดการ Package (Module) และ Dependency ใน Go
go.mod คืออะไร?
go.mod คือไฟล์ที่เก็บข้อมูลเกี่ยวกับ dependency ภายนอกที่เรานำมาใช้กับ project ของเรา ซึ่ง go.mod ได้มาจากการ run คำสั่ง:
go mod init <module_path/module_name>
ใน terminal ของเรา
ภายในไฟล์ go.mod เก็บข้อมูล dependency กับ version ของมัน และ path ของ module ของเรา
Example: go.mod file
// path module ของเรา
module example/mymodule
// version ของ go ที่เราใช้อยู่
go 1.16
// denpendency ที่เราใช้ใน project
require (
<module-path> <version>
// dependency ที่มาจาก github
/* ลิ้ง github ของ dependency */ /* version ของ dependency*/
github.com/gofiber/fiber/v2 v2.22.0
)
// นอกจากนี้ยังมี
//สำหรับ replace dependency ที่เราต้องการ
replace (
<module-path> <version>
)
//สำหรับเอา dependency ที่เราต้องการออก
exclude (
<module-path> <version>
)
การลง Dependency จาก GitHub
go get <link_to_github/version/>
// หรือเราสามารถเข้าถึง version ตาม commit hash ของ github ได้
go get <link_to_github/version@commit_hash>
ลบ Dependency ที่เราไม่ได้ใช้
go mod tidy
update dependency
go get -u <dependency>
คำสั่ง go เพิ่มเติมที่เราสามารถใช้ใน terminal
https://go.dev/ref/mod