Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 2030

สรุปการย้ายจาก dep มายัง Go module กัน

$
0
0

บันทึกการย้ายตัวจัดการ 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 คำสั่ง

[code] $go mod init example go: creating new go.mod: module . go: copying requirements from Gopkg.lock [/code]

จะทำการสร้างไฟล์ go.mod ขึ้นมา
โดยจะทำการ import library/dependency ต่าง ๆ
มาจากไฟล์ Gopkg.lock ให้ด้วย

จากนั้นทำการลบสิ่งที่ไม่ได้ใช้ตามขั้นตอน
ทำการ build ด้วยคำสั่ง

[code] $go build example go: downloading github.com/gorilla/mux v1.7.0 go: extracting github.com/gorilla/mux v1.7.0 [/code]

เพียงเท่านี้ก็ย้ายได้แล้วนะ
ขอให้สนุกกกับการ coding ครับ


Viewing all articles
Browse latest Browse all 2030

Trending Articles