ตั้งค่ามิเรอร์สำหรับ Go Module เพื่อเร่งความเร็ว (ผ่าน ServBay Control Panel)
ภาพรวม
Go Module Mirror (Go Module Proxy) คือกลไกสำคัญในระบบนิเวศของ Go ที่ช่วยเร่งความเร็วในการดาวน์โหลดแพ็คเกจที่จำเป็น ในการตั้งค่ามิเรอร์ นักพัฒนาสามารถหลีกเลี่ยงการดาวน์โหลดแพ็คเกจโดยตรงจากคลังโค้ดทั่วโลก (เช่น GitHub) และเลือกดาวน์โหลดจากเซิร์ฟเวอร์มิเรอร์ที่ใกล้ตัวและมีความเสถียรมากกว่า ซึ่งช่วยเพิ่มความเร็วและความสะดวกในการทำงานอย่างเห็นได้ชัด
ServBay มอบอินเทอร์เฟซที่ใช้งานง่าย ช่วยให้คุณตั้งค่ามิเรอร์สำหรับ Go ได้ในสภาพแวดล้อมท้องถิ่นของคุณ โดยไม่ต้องตั้งค่าตัวแปรสภาพแวดล้อมด้วยตนเอง
ทำไมควรตั้งค่ามิเรอร์สำหรับ Go Module?
ขณะพัฒนา Go การดาวน์โหลดแพ็คเกจด้วยคำสั่ง go get
หรือ go mod download
จะใช้ proxy.golang.org ตามค่าปริยายหรือดาวน์โหลดจากคลังต้นทางโดยตรง ในบางกรณีการเชื่อมต่อกับแหล่งที่มาตามค่าปริยายอาจช้า ขาดความเสถียร หรือไม่สามารถเข้าถึงได้ ซึ่งส่งผลกระทบต่อการพัฒนาอย่างรุนแรง
การตั้งค่ามิเรอร์ช่วยเปลี่ยนเส้นทางการดาวน์โหลดไปยังเซิร์ฟเวอร์มิเรอร์ที่เร็วกว่า ลดเวลารอและเพิ่มประสิทธิภาพการทำงานอย่างมีนัยสำคัญ
การตั้งค่ามิเรอร์ Go Module ใน ServBay
ServBay อนุญาตให้คุณตั้งค่าที่อยู่ proxy ของ Go Module โดยตรงผ่าน Control Panel ซึ่งจะถูกนำไปใช้ในสภาพแวดล้อม Go ที่ ServBay ดูแล โดยตั้งค่าตัวแปรสภาพแวดล้อม GOPROXY
ให้โดยอัตโนมัติ
ข้อกำหนดเบื้องต้น
- ได้ติดตั้งและรัน ServBay บน macOS ของคุณเรียบร้อยแล้ว
- ได้ติดตั้ง Go package ผ่าน ServBay
ขั้นตอนการตั้งค่า
เปิด ServBay Control Panel เปิดแอป ServBay และเข้าไปยังหน้าจอ Control Panel
เข้าสู่หน้า Go Configuration ในเมนูนำทางด้านซ้าย เลือก
Languages
แล้วเลือกGo Config
เลือกหรือแก้ไขแหล่งมิเรอร์ ในหน้า Go Config คุณจะเห็นการกำหนดค่า
GOPROXY
ปัจจุบัน โดย ServBay อาจตั้งค่ามิเรอร์ที่ใช้บ่อยไว้ล่วงหน้า เช่นhttps://goproxy.cn,direct
- หากต้องการใช้มิเรอร์อื่นๆ สามารถแก้ไขที่อยู่ในฟิลด์ได้โดยตรง สามารถกรอกได้หลายที่อยู่ แยกด้วยเครื่องหมายจุลภาค
,
ตัวอย่างเช่นรูปแบบที่อยู่มิเรอร์,direct
ซึ่งdirect
หมายถึง ถ้าดาวน์โหลดจากมิเรอร์ไม่ได้ จะลองจากแหล่งต้นทางแทน - หากไม่แน่ใจว่าควรใช้มิเรอร์ใด สามารถดูรายชื่อแนะนำด้านล่าง
- หากต้องการใช้มิเรอร์อื่นๆ สามารถแก้ไขที่อยู่ในฟิลด์ได้โดยตรง สามารถกรอกได้หลายที่อยู่ แยกด้วยเครื่องหมายจุลภาค
บันทึกการตั้งค่า เมื่อแก้ไขที่อยู่มิเรอร์เสร็จแล้ว ให้คลิกปุ่ม
Save
มุมขวาล่างเพื่อบันทึกการตั้งค่า- หากต้องการคืนค่ากลับเป็นค่าปริยายของ ServBay ให้กดปุ่ม
Reset
- หากต้องการคืนค่ากลับเป็นค่าปริยายของ ServBay ให้กดปุ่ม
รูป: หน้าจอ Go Config ใน ServBay Control Panel
แนะนำแหล่งมิเรอร์สำหรับ Go Module
นี่คือตัวอย่างแหล่งมิเรอร์ที่นิยมใช้สำหรับ Go Module คุณสามารถเลือกใช้งาน 1 รายการหรือมากกว่านั้นก็ได้:
https://goproxy.cn
(โดย Qiniu Cloud, แนะนำ)https://goproxy.io
(โดย GoCN Community และ Qiniu Cloud)https://mirrors.aliyun.com/goproxy/
(โดย Alibaba Cloud)
คุณสามารถตั้งค่า GOPROXY
เป็น https://goproxy.cn,direct
หรือ https://goproxy.io,direct
ตามต้องการ
ตรวจสอบการตั้งค่า
เมื่อบันทึกการตั้งค่าใหม่แล้ว GOPROXY
จะมีผลกับสภาพแวดล้อมของ ServBay ทันที คุณสามารถตรวจสอบค่าตัวแปร GOPROXY
ได้ผ่านทางกล่องคำสั่ง (Terminal) ดังนี้:
เปิด Terminal ของ ServBay (ผ่านฟีเจอร์ Terminal ของ Control Panel หรือ Terminal ของระบบแต่ต้องแน่ใจว่าค่าสภาพแวดล้อม ServBay ถูกโหลด) แล้วรันคำสั่งนี้:
bash
go env GOPROXY
1
ผลลัพธ์ควรจะแสดงที่อยู่มิเรอร์ที่คุณตั้งค่าไว้ เช่น:
bash
https://goproxy.cn,direct
1
หากค่าที่ได้ตรงกับที่คุณกำหนดไว้ แสดงว่าการตั้งค่าสำเร็จแล้ว คุณสามารถทดสอบดาวน์โหลด dependencies ด้วย go mod download
หรือ go get
เพื่อสัมผัสกับความเร็วที่เพิ่มขึ้น
หมายเหตุ
- ผลกระทบระดับโกลบอล: การตั้งค่ามิเรอร์ Go ใน ServBay จะมีผลกับทุกโปรเจกต์และคำสั่ง Go เวอร์ชั่นที่จัดการโดย ServBay ทั้งหมด
- โมดูลส่วนตัว: หากต้องเข้าถึง Go Module ที่อยู่ใน repository ส่วนตัวหรือภายในองค์กร แค่ตั้งค่า
GOPROXY
อย่างเดียวอาจไม่พอ อาจต้องตั้งค่าGOPRIVATE
หรือGONOPROXY
เพื่อให้ Go เลี่ยง proxy แล้วดึงรหัสจาก repository เหล่านั้นโดยตรง ปัจจุบัน ServBay Control Panel ให้ตั้งค่าแค่GOPROXY
สำหรับตัวแปรอื่นๆ ต้องตั้งค่าเพิ่มเองในโปรเจกต์หรือสภาพแวดล้อมเทอร์มินัล - เวอร์ชัน Go ที่รองรับ: ฟีเจอร์ module proxy มีใน Go 1.11 และใช้เป็นค่าเริ่มต้นใน Go 1.13 โปรดมั่นใจว่าเวอร์ชัน Go ที่ใช้รองรับการตั้งค่านี้ (ServBay มักให้เวอร์ชันล่าสุดอยู่แล้ว)
- เสถียรภาพของมิเรอร์: มิเรอร์แต่ละแห่งมีความเสถียรแตกต่างกัน หากพบปัญหาการดาวน์โหลด ให้ลองเปลี่ยนไปใช้มิเรอร์รายการอื่นที่แนะนำดู
สรุป
การตั้งค่ามิเรอร์ Go Module ผ่าน ServBay Control Panel ช่วยให้นักพัฒนาสามารถเพิ่มความเร็วในการดาวน์โหลด dependencies และปรับแต่งสภาพแวดล้อมพัฒนา Go ได้อย่างง่ายดาย สะท้อนหลักการของ ServBay ที่มุ่งสร้างเครื่องมือที่ทรงพลังและเป็นมิตรต่อผู้ใช้สำหรับการพัฒนาในเครื่อง เพียงทำตามขั้นตอนข้างต้น คุณจะหมดปัญหากวนใจเรื่องการดาวน์โหลดแพ็คเกจ Go ที่เชื่องช้าอีกต่อไป