[英]Dockerfile with Go can't find path
我在運行本地版本以及配置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為什么要將src
添加到GOPATH中? 以及如何配置它以找到正確的位置?
如果我將main.go
更改為相對路徑,我可以破解一個補丁-但是我無法在本地運行
main.go:4:2: local import "../internal/app" in non-local package
任何和所有幫助將不勝感激。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.