Files
titanzerg 313d45c4c1 Update 01.1.md
typo
2021-09-25 11:54:13 +07:00

148 lines
16 KiB
Markdown

# 1.1 การติดตั้ง
## 3 วิธีในการติดตั้ง Go
การตั้งค่าคอมพิวเตอร์เพื่อใช้ในการพัฒนาด้วย Go นั้น มีอยู่ด้วยกันหลายวิธี และเราสามารถเลือกใช้วิธีใดก็ได้ที่ถนัด โดยทั่วไปจะมีอยู่ด้วยกัน 3 วิธี ดังนี้
- ติดตั้งจาก packages มาตรฐาน ที่ถูกปล่อยโดยตรง
- ทีมงานของ Go ได้เตรียมการติดตั้งที่สะดวกสบายบน Windows, Linux, Mac และระบบปฎิบัติการอื่นๆ ซึ่งนับเป็นวิธีเริ่มใช้งาน Go ที่สะดวกที่สุด
โดยสามารถดาวน์โหลดตัวติดตั้งจาก [หน้าดาวน์โหลดของ Golang](https://golang.org/dl/)
- ติดตั้งจาก source code ด้วยตัวเอง
- นับเป็นวิธีการติดตั้งที่ได้รับความนิยมในหมู่ของนักพัฒนาที่คุ้นเคยกับการทำงานบนระบบที่คล้ายกับ Unix
- ติดตั้งจากเครื่องมือประเภท third party ต่างๆ
- มีเครื่องมือประเภท third party และตัวจัดการ package อยู่มากมายที่สามารถใช้ในการติดตั้ง Go ยกตัวอย่างเช่น apt-get ใน Ubuntu และ homebrew ใน Mac
ในกรณีที่ต้องการติดตั้ง Go มากกว่าหนึ่งเวอร์ชั่นในคอมพิวเตอร์เครื่องเดียว สามารถใช้เครื่องมือที่เรียกว่า [GVM](https://github.com/moovweb/gvm) นับเป็นเครื่องมือที่ดีที่สุดในการใช้งานแบบนี้เท่าที่เห็นมา ไม่อย่างนั้นแล้วเราก็ต้องลงมือทำทั้งหมดด้วยตัวเอง
## ติดตั้งจาก source code
ในการคอมไพล์ Go ตั้งแต่เวอร์ชั่น 1.5 เป็นต้นมา เราเพียงแค่ต้องใช้ Go เวอร์ชั่นก่อนหน้าเท่านั้นในการคอมไพล์ Go
หากต้องการคอมไพล์ Go เวอร์ชั่นตั้งแต่ 1.4 ลงไป เราต้องใช้คอมไพล์เลอร์ภาษาซี เนื่องจากว่าบางส่วนของ Go ยังถูกเขียนด้วย Plan 9 C และ AT&T assembler อยู่
บนระบบ Mac นั้น หากเราติดตั้ง Xcode อยู่แล้ว ก็สามารถใช้คอมไพล์ได้เลย
ส่วนระบบที่ทำงานคล้าย Unix อื่นๆ ทั้งหลาย ต้องติดตั้ง gcc หรือคอมไพล์เลอร์ที่คล้ายกัน ยกตัวอย่างเช่น หากใช้ Ubuntu ก็สามารถใช้ตัวจัดการ package apt-get ซึ่งติดตั้งมากับ Ubuntu ด้วย เพื่อติดตั้งคอมไพล์เลอร์ที่เราต้องการ ดังนี้:
```sh
sudo apt-get install gcc libc6-dev
```
โดยบน Windows นั้นจำเป็นต้องติดตั้ง MinGW ก่อนเพื่อที่จะติดตั้ง gcc และอย่าลืมตั้งค่า environment ของ Windows หลังจากที่ติดตั้งเสร็จเรียบร้อยแล้ว ( ***คอมเมนท์จากผู้แปล: หากใช้ Windows 64 bit ก็ควรเลือกติดตั้ง MinGW เวอร์ชั่น 64 bit ด้วยเหมือนกัน*** )
เมื่อถึงจุดนี้เราก็สามารถ clone source code ของ Go แล้วก็ทำการคอมไพล์ได้เลย ( ***ซอร์สโคดจะถูก clone ลงไปอยู่ในไดเร็คทอรีปัจจุบัน โดยการย้าย และการเปลี่ยนไดเร็คทอรีก่อนที่จะทำงานต่อ อาจจะใช้เวลาเล็กน้อย*** )
git clone https://go.googlesource.com/go
cd go/src
./all.bash
หากติดตั้งสำเร็จจะแสดงข้อความว่า "ALL TESTS PASSED."
บน Windows สามารถทำสิ่งเดียวกันนี้โดยใช้คำสั่ง `all.bat` แทน
หากใช้ระบบปฎิบัติการ Windows ตัวติดตั้งจะทำการตั้งค่าตัวแปร environment ให้โดยอัตโนมัติ แต่หากเป็นระบบที่คล้าย Unix นั้น เราต้องตั้งค่าเหล่านั้นด้วยตัวเอง ดังนี้ ( ***หากเป็น Go เวอร์ชั่นที่มากกว่า 1.0 เราไม่จำเป็นต้องตั้งค่า $GOBIN โดยจะถูกตั้งค่าให้อย่างอัตโนมัติโดยอ้างอิงจาก $GOROOT/bin ซึ่งจะได้พูดถึงในบทถัดไป*** )
export GOROOT=$HOME/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOROOT/bin
หากเราเห็นข้อความด้านล่างนี้ปรากฎบนหน้าจอ แสดงว่าทุกอย่างพร้อมใช้งานแล้ว
![](images/1.1.mac.png?raw=true)
รูป 1.1 ข้อมูลที่แสดงภายหลังการติดตั้งด้วย source code
เมื่อหน้าจอแสดงคำแนะนำในการใช้งานของ Go นั่นแสดงว่าการติดตั้งสำเร็จแล้ว แต่หากมีข้อความว่า "no such command" ให้ทำการตรวจดูค่า $PATH ในตัวแปร environment ของระบบ มี path ที่ติดตั้ง Go อยู่หรือไม่
## ติดตั้งจาก packages มาตรฐาน
Go นั้นมีตัวติดตั้ง package มาตรฐานในแทบจะทุกระบบปฎิบัติการ โดย package จะติดตั้ง Go ลงไปที่ `/usr/local/go` (`c:\Go` สำหรับ Windows) หากไม่ได้เลือกเป็นอย่างอื่น ซึ่งแน่นอนว่าเราสามารถเลือกได้เองว่าจะติดตั้งไว้ที่ใด แต่เราก็ต้องแก้ไขตัวแปร environment ทั้งหมดด้วยตัวเองดังที่ได้แสดงไว้ด้านบน
### จะรู้ได้อย่างไรว่าระบบปฎิบัติการเป็นแบบ 32 bit หรือ 64 bit?
ขั้นต่อไปนั้นขึ้นอยู่กับว่าเราใช้ระบบปฎิบัติการชนิดใด ดังนั้นเราจึงจำเป็นต้องตาวจสอบให้มั่นใจก่อนที่จะดาวน์โหลดตัวติดตั้ง package ลงมา
หากใช้ Windows ให้กด `Win+R` แล้วสั่งรัน command tool แล้วพิมพ์คำสั่ง `systeminfo` จะเป็นการแสดงข้อมูลเกี่ยวกับระบบออกมา มองหาบรรทัดที่มีข้อความว่า "system type" หากเห็นว่าเป็น "x64-based PC" แสดงว่าระบบปฎิบัติการเป็นแบบ 64 bit นอกเหนือจากนี้แสดงว่าเป็น 32 bit
ขอแนะนำให้ดาวน์โหลด package เวอร์ชั่น 64 bit สำหรับคนที่ใช้ Mac เนื่องจากว่า Go ไม่ได้ซัพพอร์ทหน่วยประมวลผลแบบ 32 bit บน Mac OSX แล้ว
สำหรับผู้ใช้งาน Linux สามารถใช้คำสั่ง `uname -a` ใน terminal เพื่อดูข้อมูลของระบบ หากเป็นระบบปฎิัติการแบบ 64 bit จะแสดงข้อความดังนี้:
<some description> x86_64 x86_64 x86_64 GNU/Linux
// some machines such as Ubuntu 10.04 will show as following
x86_64 GNU/Linux
หากเป็นระบบปฎิบัติการแบบ 32 bit จะแสดงข้อความนี้แทน:
<some description> i686 i686 i386 GNU/Linux
### Mac
ไปที่ [หน้าดาวน์โหลด](https://golang.org/dl/) แล้วเลือก `go1.4.2.darwin-386.pkg` (เวอร์ชั่นหลังนี้จะไม่มีแบบ 32 bit ให้ดาวน์โหลดแล้ว) หากใช้ระบบ 32 bit หรือเลือก `go1.8.3.darwin-amd64.pkg` หากใช้ระบบ 64 bit ติดตั้งตามขั้นตอนโดยการกดปุ่ม "next" ซึ่ง `~/go/bin` จะถูกเพิ่มเข้าไปในตัวแปร $PATH ของระบบหลังจากการติดตั้งสำเร็จ หลังจากนั้นให้เปิด terminal แล้วพิมพ์คำสั่ง `go` ควรมีข้อความแสดงขึ้นมาเหมือนในภาพ 1.1
### Linux
ไปที่ [หน้าดาวน์โหลด](https://golang.org/dl/) แล้วเลือก `go1.8.3.linux-386.tar.gz` สำหรับระบบแบบ 32 bit หรือเลือก `go1.8.3.linux-amd64.tar.gz` สำหรับระบบแบบ 64 bit แล้วทำการแตก `tar.gz` ลงไปที่ path ที่เราต้องการติดตั้งโดยใช้คำสั่ง `tar zxvf go1.8.3.linux-amd64.tar.gz -C $GO_INSTALL_DIR` โดยแทนค่า `GO_INSTALL_DIR` ด้วย path ที่เราต้องการ เมื่อเสร็จแล้วจึงทำการตั้งค่า $PATH ด้วยคำสั่ง `export PATH=$PATH:$GO_INSTALL_DIR/go/bin` เสร็จแล้วสามารถเปิด terminal และพิมพ์คำสั่ง `go` ควรมีข้อความแสดงขึ้นมาเหมือนในภาพ 1.1
### Windows
ไปที่ [หน้าดาวน์โหลด](https://golang.org/dl/) แล้วเลือก `go1.4.2.windows-386.msi` หากใช้ระบบ 32 bit หรือเลือก `go1.8.3.windows-amd64.msi` หากใช้ระบบ 64 bit ติดตั้งตามขั้นตอนโดยการกดปุ่ม "next" ซึ่ง `c:/go/bin` จะถูกเพิ่มเข้าไปในตัวแปร `path` ของระบบหลังจากการติดตั้งสำเร็จ หลังจากนั้นให้เปิดหน้าต่าง command line แล้วพิมพ์คำสั่ง `go` ควรมีข้อความแสดงขึ้นมาเหมือนในภาพ 1.1
## ติดตั้งจากเครื่องมือประเภท third-party
### GVM
GVM เป็นเครื่องมือที่ใช้ควบคุมเวอร์ชั่นของ Go หากติดตั้งมากกว่าหนึ่งเวอร์ชั่น ที่พัฒนาโดย third party ซึ่งคล้ายกับ rvm ของภาษา ruby นั่นเอง โดยใช้งานได้ค่อนข้างง่าย และสามารถทำการติดตั้ง gvm โดยพิมพ์คำสั่งใน terminal ดังนี้:
bash < <(curl -s -S -L https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer)
เมื่อเสร็จแล้วจะสามารถติดตั้ง Go โดยใช้คำสั่งดังนี้:
gvm install go1.8.3
gvm use go1.8.3
หลังจากเสร็จแล้ว ก็พร้อมสำหรับการใช้งานได้ทันที
### apt-get
Ubuntu เป็นระบบปฎิบัติการ Linux ที่ได้รับความนิยมอย่างแพร่หลาย โดยจะมาพร้อมกับเครื่องมือในการจัดการ package ที่ชื่อว่า `apt-get` และเราสามารถที่จะติดตั้ง Go โดยใช้คำสั่งดังนี้:
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-go
### wget
```sh
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
sudo tar -xzf go1.8.3.linux-amd64.tar.gz -C /usr/local
# Go environment
export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=$HOME/gopath
```
เริ่มตั้งแต่ Go 1.8 เป็นต้นมา ค่าตัวแปร environment จะมีค่าเป็นค่า default ถ้าไม่ได้กำหนดเป็นอย่างอื่น โดยค่าจะเป็น `$HOME/go` บนระบบ Unix และเป็นค่า `%USERPROFILE%/go` เมื่อเป็น Windows
### Homebrew
Homebrew เป็นเครื่องมือจัดการซอฟท์แวร์ที่ได้รับความนิยมในการใช้จัดการ package บน Mac โดยการติดตั้ง Go จะใช้คำสั่งดังนี้
1. วิธีติดตั้ง Homebrew
```sh
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
2. วิธีติดตั้ง Go
```sh
brew update && brew upgrade
brew install go
```
## Links
- [Directory](preface.md)
- บทก่อนหน้า: [การตั้งค่าสภาพแวดล้อมของ Go](01.0.md)
- บทถัดไป: [$GOPATH และ workspace](01.2.md)