在 Debian 上配置 Golang 时常见的报错原因一般有下面几类,你可以对照看看是哪一类,我再帮你具体解决。
Debian 稳定版仓库中的 golang 往往很旧:
sudo apt install golang
go version
可能看到:
go version go1.15 ...
问题表现
go mod 行为异常✅ 推荐解决 直接从官方下载新版:
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
常见报错
go: command not found
或
cannot find package
✅ 正确配置(推荐方式):
# 写入 ~/.bashrc 或 ~/.profile
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
然后:
source ~/.bashrc
go version
报错示例
go: cannot find main module
✅ 解决:
go env -w GO111MODULE=on
go mod init projectname
报错示例
fetch https://proxy.golang.org/...: dial tcp: i/o timeout
✅ 使用国内代理:
go env -w GOPROXY=https://goproxy.cn,direct
报错示例
permission denied
✅ 不要用 root 写 $GOPATH
sudo chown -R $USER:$USER $HOME/go
例如在 ARM 机器上用了 amd64 包:
uname -m
x86_64 → amd64aarch64 → arm64go version
go env GOPATH
go env GOROOT
echo $PATH
如果你愿意,可以把具体的报错信息贴出来(完整报错最有用),我可以直接帮你定位是哪一步出的问题。