我在运行本地构建以及配置Dockerfile时遇到了问题。
我的项目结构如下:
project
- cmd
main.go
- internal
- app
app.go
Dockerfile所以,在main.go里我说
import (
"project/internal/app"
)然后,当我说go build时,我可以在本地完美地运行。
然而,在我的Dockerfile中我说
FROM golang
ENV GOPATH /go/src/github.com/project
COPY . /go/src/github.com/project
WORKDIR /go/src/github.com/project
RUN make linux我知道问题是:
cmd/main.go:4:2: cannot find package "Slaxtract/internal/app" in any of:
/usr/local/go/src/project/internal/app (from $GOROOT)
/go/src/github.com/project/src/project/internal/app (from $GOPATH)为什么Docker要在GOPATH中加入src呢?我怎样才能把它配置成正确的位置呢?
如果我将我的main.go更改为相对路径,我就可以破解一个修复程序,但是我不能在本地运行
main.go:4:2: local import "../internal/app" in non-local package任何和所有的帮助都是非常感谢的。
https://stackoverflow.com/questions/56223019
复制相似问题