บันทึกการย้ายตัวจัดการ library/dependency ของระบบงาน
ที่พัฒนาด้วยถาษา Go จาก dep มายัง Go module ไว้นิดหน่อย
การย้ายนั้นไม่ยากเท่าไร
มีขั้นตอนดังนี้
- go mod init จะทำการ import library ต่าง ๆ จากไฟล์ Gopkg.lock มาให้แบบอัตโนมัติ
- go mod tidy ทำการลบ library/dependency ต่าง ๆ ที่ไม่ได้ใช้งานออกไป
- rm -rf vendor ทำการลบ folder vendor ทิ้งไป เพราะว่าไม่ต้องใช้งานแล้ว
- go build ทำการ run build เพื่อทำให้มั่นใจว่าทุกอย่างยังปกติสุข
- ลบไฟล์ config ของ dep ทิ้งไป เช่น .lock และ toml เป็นต้น
มาดูรายละเอียดกันนิดหน่อย เพราะว่า ทำจริง ๆ มันไม่ง่ายตามขั้นตอน
เริ่มด้วยการย้าย code จาก $GOPATH/src ไปที่ใหม่ก่อน
ยกตัวอย่างเช่นไปที่ /work เป็นต้น
ใน /work นั้นจะมี code ของ project เรา
รวมทั้ง directory /vendor ด้วย
รวมไปถึงไฟล์ Gopkg.lock และ Gopkg.toml
จากนั้นจึงทำการ run คำสั่ง
จะทำการสร้างไฟล์ go.mod ขึ้นมา
โดยจะทำการ import library/dependency ต่าง ๆ
มาจากไฟล์ Gopkg.lock ให้ด้วย
จากนั้นทำการลบสิ่งที่ไม่ได้ใช้ตามขั้นตอน
ทำการ build ด้วยคำสั่ง
เพียงเท่านี้ก็ย้ายได้แล้วนะ
ขอให้สนุกกกับการ coding ครับ