Go Zero to Hero - Bài 2: Cài đặt môi trường Go, cấu hình GOPATH và GOROOT
Việc cài đặt Go thực ra cực kỳ đơn giản, nó chỉ là một file thực thi hoặc file nén giải ra là chạy . Không lằng nhằng như cấu hình JVM của Java hay quản lý version rắc rối như Python .
1. Tải và cài đặt Go
Đầu tiên, bạn cần tải file cài đặt phù hợp với hệ điều hành của mình tại trang chủ chính thức: https://go.dev/dl/
- Windows / macOS: Chỉ cần tải file
.msi(Windows) hoặc.pkg(macOS) về và bấm Next liên tục như cài game . Bộ cài sẽ tự động thiết lập các biến môi trường cần thiết cho bạn . - Linux: Tải file
.tar.gzvà giải nén vào thư mục/usr/localbằng câu lệnh :
Sau đó thêm đường dẫn vào filerm -rf /usr/local/go && tar -C /usr/local -xzf go1.x.x.linux-amd64.tar.gz~/.bashrchoặc~/.zshrc:export PATH=$PATH:/usr/local/go/bin
Kiểm tra xem Go đã được cài đặt thành công chưa bằng cách mở Terminal/Command Prompt và gõ :
go version
Nếu màn hình in ra phiên bản Go (ví dụ: go version go1.22.x), chúc mừng bạn đã cài đặt thành công!
2. Giải mã GOROOT và GOPATH
Nếu bạn gõ lệnh go env vào Terminal, một danh sách dài các biến môi trường sẽ hiện ra . Đừng hoảng! Thực tế, bạn chỉ cần quan tâm đến hai "anh đại" này :
GOROOT: Nơi "khai sinh" của Go
- Nó là gì? Đây chính là thư mục chứa mã nguồn cốt lõi, trình biên dịch (compiler) và các thư viện chuẩn (Standard Library) của chính ngôn ngữ Go (tương tự như thư mục cài đặt JDK trong Java) .
- Cấu hình ra sao? Thường thì khi cài đặt, hệ thống đã tự set mặc định (ví dụ:
C:\Program Files\Gotrên Windows hoặc/usr/local/gotrên Linux/mac) . Bạn gần như không bao giờ phải chạm vào hay sửa biến GOROOT này .
GOPATH: "Đại bản doanh" của lập trình viên
- Nó là gì? Trước phiên bản Go 1.11, Go ép buộc tất cả các dự án bạn viết đều phải đặt bên trong một thư mục duy nhất gọi là
GOPATH(thường mặc định ở~/gotrên Mac/Linux hoặc%USERPROFILE%\gotrên Windows) . - Bên trong
GOPATHtruyền thống có 3 thư mục con cốt lõi :src/: Chứa toàn bộ source code của bạn và cả code của các thư viện bạn tải về .pkg/: Chứa các object file đã được biên dịch sẵn (để lần sau build code nhanh hơn) .bin/: Chứa các file thực thi (binary) của các công cụ cài đặt qua lệnhgo install.
Sự thật về GOPATH ở thời điểm hiện tại: Từ phiên bản Go 1.11 trở đi, Go giới thiệu Go Modules (
go.mod) . Đây là một cuộc cách mạng! Bạn không còn bị nhốt mã nguồn của mình vào thư mụcGOPATH/srcnữa . Bạn có thể tạo project ở bất kỳ đâu (Desktop, ổ D, ổ E...) . Tuy nhiên,GOPATHvẫn tồn tại và làm nhiệm vụ "hậu cần": làm nơi lưu trữ cache của các thư viện tải về (giống nhưnode_moduleshay lưu cache toàn cục vậy) và chứa các tool dạng binary toàn cục .
3. Viết chương trình "Hello Cloud" đầu tiên
Đã setup xong môi trường, hãy viết thử vài dòng code để đảm bảo mọi thứ trơn tru .
Bước 1: Khởi tạo project (Sử dụng Go Modules)
Tạo một thư mục bất kỳ và mở Terminal tại đó, gõ lệnh :
mkdir my-first-go-app
cd my-first-go-app
go mod init my-first-go-app
Lệnh này sẽ tạo ra một file go.mod (tương tự như package.json trong Node.js), dùng để quản lý tên project và các thư viện phụ thuộc sau này .
Bước 2: Code file main.go
Tạo file main.go và nhập đoạn code sau :
package main
import "fmt"
func main() {
fmt.Println("Hello bố đời! Chào mừng đến với thế giới của Golang và Cloud.")
}
Bước 3: Chạy chương trình
Bạn có hai cách để chạy :
- Chạy trực tiếp (như script) :
go run main.go - Build ra file nhị phân (binary) rồi chạy :
go build -o app ./app # Trên Windows thì gõ app.exe
Việc build ra file nhị phân độc lập này chính là lý do khiến Go triển khai lên Docker/Kubernetes cực kỳ gọn nhẹ như chúng ta đã bàn ở Bài 1 .
Tổng kết
Bạn đã nắm trong tay "vũ khí" và đã biết cách nạp đạn . Hãy nhớ :
GOROOTlà nơi chứa bộ cài Go (không đụng vào) .GOPATHlà nơi chứa cache thư viện và các tool cài thêm .- Hiện tại chúng ta dùng Go Modules (
go mod) để quản lý dự án ở bất kỳ thư mục nào .
All rights reserved