ต้องใช้ go หลาย version ทำไงดี
ลองหาพวก version manager แล้วไปเจอ gvm เค้าบอกว่า GVM provides an interface to manage Go versions.
รายละเอียดเข้าไปดูต่อได้ที่ https://github.com/moovweb/gvm
การ install GVM
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
แต่ถ้าใช้พวก zsh ก็เปลี่ยน bash เป็น zsh
การ install go version อื่นๆ
gvm install go1.4 # เป็นการติดตั้ง go version 1.4
gvm use go1.4 [--default] # บอก gvm ว่าเริ่มใช้งาน go version 1.4
หลังจาก install เสร็จแล้วก็จะพร้อมใช้งาน ตัว gvm จะเข้าไป set ค่าใน $GOROOT และ $GOPATH ให้เอง
การ install สามารถระบุตัวเลือกเพิ่มเติมได้อีกตามนี้:
Usage: gvm install [version] [options]
-s, --source=SOURCE Install Go from specified source.
-n, --name=NAME Override the default name for this version.
-pb, --with-protobuf Install Go protocol buffers.
-b, --with-build-tools Install package build tools.
-B, --binary Only install from binary.
--prefer-binary Attempt a binary install, falling back to source.
-h, --help Display this message.
หมายเหตุเกี่ยวกับการคอมไพล์ Go 1.5+
Go 1.5+ ลบคอมไพเลอร์ C ออกจาก toolchain และแทนที่ด้วยคอมไพเลอร์ที่เขียนด้วย Go เรื่องนี้จะเป็นปัญหาในการสร้าง bootstrapping หากคุณยังไมเคย่มีการติดตั้ง Go ที่ใช้งานได้ เพื่อที่จะสามารถ compile Go 1.5+ ได้ ให้ install Go 1.4 ก่อน
gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.5
List Go Versions
รายการเวอร์ชันทั้งหมดที่ install ไว้ในเครื่องแล้ว
gvm list
หากต้องการแสดงรายการ Go เวอร์ชันทั้งหมดที่มีให้ดาวน์โหลด:
gvm listall
การ Uninstalling
ในการลบ gvm, เวอร์ชัน, และแพ็คเกจ Go ที่ติดตั้งทั้งหมด:
gvm implode
ถ้ามีปัญหาในขั้นตอนนี้ให้ให้ดูขั้นตอนการแก้ปัญหาที่ https://github.com/moovweb/gvm#troubleshooting