Fast Byte - Thuê VPS Giá Rẻ
Hướng dẫn chung

Cách Cài Đặt Golang Trên VPS Linux Từng Bước Cho Lập Trình Viên

Hướng dẫn cài đặt Go trên Ubuntu dưới đây sẽ giúp bạn thiết lập Go (Golang) — ngôn ngữ mã nguồn mở Google phát hành từ năm 2012 — chuẩn xác ngay từ đầu, tránh những lỗi “command not found” hay chạy nhầm phiên bản Go chỉ vì PATH cấu hình sai. Bài viết đi […]

Ảnh đại diện Thanh Lam NguyễnThanh Lam Nguyễn16 phút đọc

Hướng dẫn cài đặt Go trên Ubuntu dưới đây sẽ giúp bạn thiết lập Go (Golang) — ngôn ngữ mã nguồn mở Google phát hành từ năm 2012 — chuẩn xác ngay từ đầu, tránh những lỗi “command not found” hay chạy nhầm phiên bản Go chỉ vì PATH cấu hình sai. Bài viết đi qua ba cách cài đặt phổ biến nhất (tarball chính thức, APT và snap), cách thêm Go vào PATH, xác minh cài đặt bằng chương trình “Hello, World!” cùng các bước xử lý sự cố thường gặp. Nếu chưa có máy chủ để thực hành, một VPS giá rẻ tại ThueVPSGiaRe.vn là điểm khởi đầu hợp lý.

1. Tổng quan về Golang và các phương pháp cài đặt

Go (thường gọi là Golang) là ngôn ngữ lập trình nguồn mở do Google giới thiệu từ năm 2012, nổi tiếng nhờ cú pháp tối giản, thư viện tiêu chuẩn mạnh mẽ cùng tốc độ biên dịch vượt trội. Golang được ứng dụng rộng rãi trong việc xây dựng công cụ dòng lệnh (CLI), dịch vụ backend chịu tải cao và các kiến trúc đám mây hiện đại.

Để đưa ngôn ngữ này vào hoạt động trơn tru trên hệ điều hành Ubuntu, bạn có thể lựa chọn một trong ba phương thức: sử dụng file nén nhị phân chính thức (tarball), kho lưu trữ APT của hệ thống, hoặc trình quản lý gói Snap. Mỗi cách đều có ưu thế riêng về tính kiểm soát và mức độ tự động hóa.

2. Yêu cầu chuẩn bị trước khi cài đặt Golang trên VPS

Trước khi bắt đầu thực thi các thao tác dòng lệnh, máy chủ hoặc máy trạm Ubuntu của bạn cần đáp ứng các điều kiện tiêu chuẩn về tài khoản và môi trường thực thi để đảm bảo tính an toàn.

  • Hệ điều hành: Bản phân phối Ubuntu 20.04, 22.04 hoặc 24.04 LTS (hướng dẫn mẫu được kiểm thử thực tế trên Ubuntu 24.04 với bản Go1.26.10).
  • Quyền thực thi: Một tài khoản người dùng không phải root nhưng có quyền cấp phép sudo.
  • Kết nối và bảo mật: Đã hoàn tất đăng nhập vào máy chủ qua SSH và có cấu hình tường lửa cơ bản.
  • Công cụ bổ trợ: Gói công cụ curl hoặc wget để tải file qua terminal.

Thuê VPS giá rẻ

CPU Intel Gold, SSD NVMe U.2, giá từ 50K/tháng

Máy chủ riêng để cài Go đúng ý bạn

Muốn cài Go bằng tarball, APT hay snap tùy chọn và toàn quyền quản trị PATH, phiên bản toolchain? Một chiếc VPS riêng cho bạn full quyền root, môi trường sạch để làm việc với Go cũng như thực hành các bước trong bài mà không bị ràng buộc bởi môi trường chia sẻ.

Tham khảo VPS giá rẻ

3. So sánh 3 cách cài đặt Go trên hệ điều hành Ubuntu

Việc lựa chọn phương thức cài đặt phụ thuộc hoàn toàn vào mục đích sử dụng máy chủ, tính tương thích của dự án và nhu cầu quản trị phiên bản cụ thể.

Phương pháp Đối tượng phù hợp Kiểm soát phiên bản Hành vi cập nhật Môi trường Production
Official Tarball Máy chủ, production, hệ thống CI/CD cần bản mới Toàn quyền kiểm soát Nâng cấp thủ công Rất phù hợp
APT Cài nhanh, môi trường phát triển cục bộ đơn giản Bị giới hạn bởi repo Đi theo chu kỳ repo Ubuntu Tùy trường hợp
Snap Máy trạm của lập trình viên, workstation Trung bình Tự động cập nhật Thường chỉ dùng cho dev

4. Cách 1: Cài đặt Go bằng gói lưu trữ Tarball chính thức (Khuyên dùng)

Cài đặt qua tarball từ trang chủ go.dev giúp bạn sở hữu chính xác phiên bản mong muốn mà không phụ thuộc vào chu kỳ phát hành gói của Ubuntu. Đây là quy trình chuẩn kỹ thuật nhất dành cho máy chủ production và hệ thống tự động hóa.

Bước 1: Tải phiên bản Go mới nhất

Truy cập trang tải về chính thức của Go tại https://go.dev/dl/, sao chép liên kết của phiên bản dành cho kiến trúc Linux AMD64. Sử dụng curl để tải gói nén trực tiếp vào thư mục home:

cd ~ && curl -OL https://go.dev/dl/go1.26.10.linux-amd64.tar.gz

Trong câu lệnh trên, tham số -O giữ nguyên tên file gốc và -L cho phép chuyển hướng liên kết nếu máy chủ go.dev yêu cầu. Kiểm tra file vừa tải về bằng cú pháp:

ls -lh go*.tar.gz
Tải phiên bản Go mới nhất
Tải phiên bản Go mới nhất

Bước 2: Kiểm tra tính toàn vẹn (Checksum)

Việc xác thực mã băm SHA-256 là bước tối quan trọng nhằm bảo đảm gói tải về không bị lỗi dữ liệu hoặc can thiệp mã độc:

sha256sum go1.26.10.linux-amd64.tar.gz

So sánh chuỗi mã băm hiển thị trên màn hình terminal với giá trị checksum cung cấp trên trang go.dev. Nếu chuỗi ký tự khớp nhau hoàn toàn, gói cài đặt an toàn để tiếp tục.

Bước 3: Xóa bỏ bản cài đặt cũ

Gói tarball không tự động đè lên hoặc dọn dẹp các thư mục Go cũ. Để tránh tình trạng xung đột file mã nguồn hoặc file nhị phân của các phiên bản khác nhau, bạn cần xóa bỏ thư mục cài đặt mặc định trước khi bung nén:

sudo rm -rf /usr/local/go

Lưu ý: Không tự ý xóa thư mục /usr/bin/go nếu đó là bản do APT quản lý; lệnh trên chỉ dành cho bản cài đặt thủ công trong /usr/local/go.

Bước 4: Giải nén gói cài đặt

Giải nén file lưu trữ vào thư mục quy chuẩn /usr/local bằng lệnh:

sudo tar -C /usr/local -xzf go1.26.10.linux-amd64.tar.gz

Sau khi giải nén, toàn bộ bộ công cụ sẽ nằm trong /usr/local/go. Bạn có thể kiểm tra danh sách file bằng các lệnh Linux cơ bản như ls /usr/local/go.

Bước 5: Thêm Go vào biến môi trường PATH

Để hệ thống nhận biết lệnh go từ bất kỳ thư mục làm việc nào, ta cần thêm thư mục binary vào PATH. Mở file cấu hình shell tương ứng của người dùng (ví dụ với Bash):

nano ~/.profile

Thêm dòng sau vào cuối tập tin:

export PATH=$PATH:/usr/local/go/bin

Lưu lại bằng Ctrl + O -> Enter -> Ctrl X và áp dụng cấu hình mới ngay lập tức mà không cần đăng xuất:

source ~/.profile

Bước 6: Xác minh phiên bản và môi trường

Kiểm tra xem hệ thống đã nhận diện đúng phiên bản Go hay chưa:

go version
which go
go env GOROOT GOPATH

Kết quả trả về chuẩn xác sẽ hiển thị /usr/local/go/bin/go cho lệnh which và GOROOT="/usr/local/go".

Xác minh phiên bản Go và môi trường
Xác minh phiên bản Go và môi trường

Thuê VPS giá rẻ

CPU Intel Gold, SSD NVMe U.2, giá từ 50K/tháng

Tối ưu tài nguyên cho dự án Go trên Cloud

Ứng dụng Golang tiêu tốn ít RAM và xử lý đồng thời cực tốt, rất thích hợp chạy trên nền tảng VPS tối ưu phần cứng độc lập. Khởi tạo ngay môi trường VPS cho lập trình viên để thử nghiệm ứng dụng với đường truyền ổn định và toàn quyền cấu hình root.

Tham khảo VPS giá rẻ

5. Cách 2: Cài đặt Go thông qua APT Package Manager

APT là giải pháp cài đặt tiện lợi, được quản lý trọn gói bởi cơ chế gói của Ubuntu. Tuy nhiên, phiên bản trên repo APT thường cũ hơn bản upstream từ go.dev do ưu tiên tính ổn định của hệ điều hành.

Để kiểm tra phiên bản có sẵn trong repository trước khi cài đặt, bạn dùng lệnh:

apt policy golang-go

Tiến hành quy trình cập nhật hệ thống Ubuntu an toàn và cài đặt gói:

sudo apt update
sudo apt install golang-go

Sau khi hoàn tất, binary sẽ nằm ở /usr/bin/go. Bạn kiểm tra lại bằng:

go version
which go
type -a go

Nếu muốn gỡ bỏ hoàn toàn bản cài từ APT cùng các file cấu hình phụ thuộc:

sudo apt purge golang-go
sudo apt autoremove

6. Cách 3: Cài đặt Go nhanh bằng Snap Package

Snap cung cấp gói cài đặt được đóng gói độc lập cùng cơ chế cập nhật tự động của Canonical. Phương thức này rất phù hợp cho máy tính cá nhân hoặc môi trường phát triển thử nghiệm nhưng ít khi được dùng cho production.

Cài đặt Go với quyền truy cập hệ thống đầy đủ qua cờ --classic:

sudo snap install go --classic

Kiểm tra đường dẫn binary thực thi của Snap:

which go
# Kết quả thông thường: /snap/bin/go

Các thao tác quản lý gói Snap bao gồm cập nhật (sudo snap refresh go) hoặc gỡ cài đặt (sudo snap remove go).

7. Kiểm tra hoạt động với chương trình Hello World

Sau khi hoàn tất cài đặt, hãy tạo một dự án Go đơn giản sử dụng cơ chế Module để đảm bảo chuỗi công cụ (toolchain) biên dịch chính xác.

Tạo thư mục dự án và khởi tạo file go.mod, thay “your_domain” thành “tên miền của bạn“

mkdir hello
cd hello
go mod init your_domain/hello

Tạo file mã nguồn hello.go bằng trình soạn thảo:

nano hello.go

Dán đoạn mã chuẩn sau vào file:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

Lưu file và chạy thử nghiệm bằng lệnh go run .. Màn hình sẽ xuất ra thông điệp Hello, World!.

Kiểm tra hoạt động với chương trình Hello World
Kiểm tra hoạt động với chương trình Hello World

8. Biên dịch mã nguồn thành file thực thi nhị phân (Binary)

Trong môi trường phát triển hàng ngày, go run đóng vai trò lối tắt tiện lợi. Nhưng khi cần đóng gói ứng dụng để đưa vào vận hành thực tế, bạn sẽ cần tới go build hoặc go install.

  • Biên dịch tại chỗ (go build): Lệnh go build tạo ra một file nhị phân độc lập nằm ngay tại thư mục hiện tại. Bạn thực thi bằng lệnh ./hello. Điểm trừ là file này chỉ chạy được khi đứng trong đúng thư mục chứa nó.
  • Cài đặt toàn cục (go install): Lệnh go install . sẽ biên dịch mã nguồn và tự động đặt file nhị phân vào thư mục $(go env GOPATH)/bin.

Để kiểm tra vị trí đích mà Go sẽ lưu file binary khi cài đặt, chạy lệnh:

go list -f '{{.Target}}'

Để có thể gọi tên chương trình trực tiếp từ mọi nơi, bạn chỉ cần đưa thư mục chứa binary của GOPATH vào biến PATH:

export PATH=$PATH:$(go env GOPATH)/bin
go install .
hello

9. Hiểu rõ đường dẫn /usr/local/go/bin và biến PATH

Khi cài đặt bằng file nén chính thức, toàn bộ toolchain của Go được lưu trữ trong /usr/local/go, còn các công cụ dòng lệnh (như go, gofmt) nằm trong thư mục /usr/local/go/bin.

Biến môi trường PATH là danh sách các thư mục ngăn cách nhau bằng dấu hai chấm (:) mà hệ vỏ (shell) sẽ quét từ trái sang phải mỗi khi bạn nhập một câu lệnh. Nếu thư mục chứa Go không có trong PATH, terminal sẽ báo lỗi không tìm thấy lệnh. Bạn có thể in danh sách biến PATH ra từng dòng bằng:

echo "$PATH" | tr ':' '\n'

10. Cấu hình biến môi trường cho Bash và Zsh

Tùy thuộc vào shell bạn sử dụng khi làm việc trên sử dụng VPS Linux, file khởi động cần chỉnh sửa sẽ khác nhau. Kiểm tra shell đang chạy qua lệnh echo $SHELL.

Hệ vỏ (Shell) File cấu hình khuyên dùng Ghi chú ngữ cảnh áp dụng
Bash ~/.profile hoặc ~/.bashrc ~/.profile dành cho login shell (như phiên SSH), ~/.bashrc dành cho terminal tương tác
Zsh ~/.zshrc Dành cho interactive shell; nếu cần cho login shell dùng ~/.zprofile

Sau khi chỉnh sửa, nhớ sử dụng lệnh source ~/.profile (cho Bash) hoặc source ~/.zshrc (cho Zsh) để nạp lại giá trị biến môi trường vào phiên làm việc hiện tại.

11. Phân biệt cơ chế GOPATH truyền thống và Go Modules

Trước phiên bản Go 1.11, toàn bộ mã nguồn bắt buộc phải đặt trong cấu trúc thư mục nghiêm ngặt của $GOPATH/src. Điều này gây nhiều bất tiện cho các lập trình viên khi quản lý các repo từ nền tảng như quản lý mã nguồn trên GitHub.

  • Go Modules (Hiện đại, mặc định từ Go 1.16+): Cho phép bạn đặt thư mục dự án ở bất kỳ đâu trên ổ cứng. Mọi thư viện phụ thuộc được ghi lại trong file go.mod và khóa checksum tại go.sum, không cần bận tâm về đường dẫn GOPATH.
  • Vai trò hiện tại của GOPATH: Mặc dù không còn bắt buộc đặt code trong src/, GOPATH (mặc định tại ~/go) vẫn được Go dùng làm nơi lưu trữ cache tải về (pkg/) và thư mục chứa file binary cài qua lệnh go install (bin/).

12. Quản lý phiên bản, nâng cấp và gỡ cài đặt Go

Việc nâng cấp hoặc gỡ cài đặt cần bám sát phương thức mà bạn đã dùng ban đầu để tránh để sót file rác gây xung đột công cụ.

  • Nâng cấp bản Tarball: Tải tarball mới từ go.dev, xóa thư mục cũ bằng sudo rm -rf /usr/local/go, giải nén bản mới vào /usr/local và chạy hash -r để xóa cache lệnh của shell.
  • Nâng cấp qua APT: Chạy sudo apt update && sudo apt upgrade golang-go.
  • Gỡ cài đặt Tarball: Xóa /usr/local/go, sau đó mở file ~/.profile hoặc ~/.zshrc để xóa dòng lệnh export PATH đã thêm trước đó.

13. Khắc phục các lỗi thường gặp trong quá trình cấu hình

Dưới đây là 4 tình huống lỗi phổ biến nhất và giải pháp xử lý triệt để dựa trên nguyên lý hoạt động của Linux:

Lỗi 1: “command not found: go”

Xảy ra khi đường dẫn thư mục binary chưa được nạp vào biến PATH hoặc chưa reload lại file cấu hình shell. Hãy kiểm tra xem file thực thi có thực sự tồn tại bằng ls -l /usr/local/go/bin/go, sau đó xác nhận lại cú pháp trong ~/.profile và thực hiện source ~/.profile.

Lỗi 2: Nhận sai phiên bản Go (Wrong Version)

Hiện tượng này xuất hiện khi máy chủ có nhiều bản cài Go cùng lúc (chẳng hạn cả APT và Tarball). Shell sẽ chạy binary ở thư mục đứng trước trong chuỗi PATH. Hãy chạy type -a go để liệt kê mọi bản Go đang có, kiểm tra go env GOROOT, sau đó gỡ bỏ bản cài không mong muốn hoặc đổi thứ tự PATH.

Lỗi 3: Chạy “go install” xong không gọi được lệnh

Khi cài một công cụ dòng lệnh viết bằng Go thông qua go install, file binary được đặt tại $GOPATH/bin (thường là ~/go/bin). Nếu thư mục này chưa có trong PATH, bạn sẽ gặp lỗi lệnh không tồn tại. Khắc phục bằng cách thêm export PATH=$PATH:$(go env GOPATH)/bin vào file cấu hình shell.

Lỗi 4: “go: go.mod file not found”

Lỗi xuất hiện khi bạn chạy các lệnh của Go bên ngoài một module hợp lệ. Để giải quyết, hãy di chuyển vào đúng thư mục chứa file go.mod hoặc khởi tạo module mới bằng go mod init <tên_module>, sau đó dùng go mod tidy để đồng bộ dependencies.

14. Câu hỏi thường gặp (FAQ)

1. Cách cài đặt phiên bản Go mới nhất trên Ubuntu là gì?

Cách tin cậy nhất là tải file tarball trực tiếp từ trang go.dev/dl/, giải nén vào /usr/local và bổ sung /usr/local/go/bin vào biến PATH. Kho lưu trữ của Ubuntu thường cập nhật chậm hơn các bản phát hành thượng nguồn.

2. Go có sẵn trong kho phần mềm APT của Ubuntu không?

Có, bạn có thể cài đặt dễ dàng qua lệnh sudo apt install golang-go. Tuy nhiên, phiên bản đi kèm thường là bản cũ nhằm đảm bảo tính tương thích của Ubuntu, không phù hợp nếu dự án đòi hỏi các tính năng mới nhất của ngôn ngữ.

3. Phương thức cài Go nào được khuyến nghị cho Linux?

Phương thức dùng gói nén tarball chính thức được cộng đồng phát triển khuyến nghị nhiều nhất vì nó đem lại sự đồng nhất trên mọi bản phân phối Linux và giúp người quản trị chủ động kiểm soát chính xác phiên bản.

4. Nâng cấp Go lên phiên bản mới hơn trên Ubuntu như thế nào?

Đối với bản tarball, bạn chỉ cần xóa thư mục /usr/local/go hiện tại, tải file nén của phiên bản mới và giải nén lại vào /usr/local. Đối với bản APT, bạn dùng sudo apt update && sudo apt upgrade golang-go.

5. Làm thế nào để kiểm tra Go đã được cài đặt hoàn toàn chuẩn xác?

Bạn có thể kiểm tra chuỗi lệnh: chạy go version để xem phiên bản, chạy which go để xem vị trí file binary, và chạy go env GOROOT GOPATH để kiểm tra đường dẫn gốc trước khi build thử một ứng dụng Hello World.

Tổng kết và các bước tiếp theo

Qua bài Hướng dẫn cài đặt Go trên Ubuntu này, bạn đã nắm vững cách cài đặt Golang qua cả 3 phương thức Tarball, APT và Snap, hiểu rõ cách cấu hình biến môi trường PATH cũng như cơ chế vận hành của Go Modules hiện đại. Nắm vững kỹ thuật quản lý phiên bản và thiết lập bảo mật máy chủ sẽ giúp bạn tự tin xây dựng hệ thống backend hiệu năng cao, ổn định lâu dài.

Cần một VPS giá rẻ để bắt đầu?

Chọn cấu hình vừa đủ nhu cầu, ưu tiên chi phí dễ tiếp cận và khả năng quản trị riêng.

Xem bảng giá VPS

Nội dung trong bài viết chỉ mang tính chất tham khảo kỹ thuật. Các cú pháp lệnh, đường dẫn cài đặt và thông số phiên bản có thể thay đổi tùy thuộc vào phiên bản hệ điều hành Ubuntu cụ thể và chu kỳ phát hành của nhà phát triển Go. Quản trị viên nên chủ động kiểm tra kỹ trên môi trường thử nghiệm và sao lưu dữ liệu trước khi triển khai trên hệ thống thực tế.

Chia sẻ: Facebook LinkedIn
Quay lại trang blog

Bài viết liên quan