我正在关注本教程https://golang.org/doc/tutorial/getting-started但由于某种原因,我每次尝试运行代码时都会收到此消息:
$GOPATH/go.mod exists but should not
我试图查看这样的答案:https://stackoverflow.com/a/62062562/9785222但我不明白什么是 GOPATH 以及它在哪里。
我在 Linux Fedora 上使用 Vi 作为编辑器
$GOPATH
应该指向src
目录,在我的Debian中,我将$GOPATH
设置为/usr/local/go/src
,问题就解决了。
export $GOPATH=/usr/local/go/src
什么是 GOPATH?
GOPATH 是一个定义文件夹的变量,
GO
希望我们的代码驻留在该文件夹下。欲了解更多详情,您可以查看此链接
对我来说,这是在尝试构建 docker 容器时。通过使用与默认不同的构建目录解决了这个问题。
例如:
FROM golang:1.21 AS gobuild
WORKDIR /build
对我来说,这是通过升级 golang 镜像解决的:
FROM golang:1.20 AS gobuild
FROM golang:1.23.1 AS gobuild