下面按**从零开始在 Debian 下使用 Go(Golang)**的思路,给你一个清晰、实用的指南。
# 查看最新版本
https://go.dev/dl/
# 以 go1.22.5 为例
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
配置环境变量(加到 ~/.bashrc 或 ~/.zshrc):
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
生效:
source ~/.bashrc
验证:
go version
sudo apt update
sudo apt install golang-go
⚠️ 版本可能偏旧,不建议生产使用。
mkdir hello && cd hello
go mod init hello
创建 main.go:
package main
import "fmt"
func main() {
fmt.Println("Hello Debian")
}
运行:
go run main.go
编译:
go build
./hello
go mod init 项目名 # 初始化模块
go run main.go # 运行
go build # 编译
go install # 安装到 GOPATH/bin
go get 包名 # 安装依赖
go mod tidy # 清理依赖
go test ./... # 运行测试
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=off
查看环境:
go env
myproject/
├── go.mod
├── main.go
└── internal/
└── util/
└── util.go
nohup ./myproject > app.log 2>&1 &
或用 systemd(推荐):
# /etc/systemd/system/goapp.service
[Unit]
Description=Go App
After=network.target
[Service]
ExecStart=/root/go/src/myproject/myproject
WorkingDirectory=/root/go/src/myproject
User=root
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start goapp
sudo systemctl enable goapp
go: command not found→ PATH 没配置好,确认 /usr/local/go/bin 在 PATH 中。
sudo chmod +x myproject
GOOS=windows GOARCH=amd64 go build
如果你愿意,可以告诉我:
我可以给你更针对性的配置方案。