运行Go图像时无法识别导入路径“main / testPackage”

时间:2017-03-06 06:56:35

标签: go docker import get

我正在尝试使用docker编译golang项目,我无法获得“go get”来为我编译包。容器的整个设置可以在我的dockerfile中看到:

FROM buildpack-deps:jessie-scm

# gcc for cgo
RUN apt-get update && apt-get install -y --no-install-recommends \
        g++ \
        gcc \
        libc6-dev \
        make \
        pkg-config \
    && rm -rf /var/lib/apt/lists/*

ENV GOLANG_VERSION 1.8
ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
ENV GOLANG_DOWNLOAD_SHA256 53ab94104ee3923e228a2cb2116e5e462ad3ebaeea06ff04463479d7f12d27ca

RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz \
    && echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - \
    && tar -C /usr/local -xzf golang.tar.gz \
    && rm golang.tar.gz

ENV GOPATH /go
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
ENV CGO_ENABLED 0
ENV GOOS linux

RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"

WORKDIR $GOPATH

RUN go get github.com/lib/pq

ENTRYPOINT ["go", "get", "."]

我构建了这个容器,然后使用它来编译我的go代码:

sudo docker run --rm -v /path/to/my/project:/usr/src/main -w /usr/src/main go:compiler

这会在我的项目文件夹中找到main.go,读取它...但在遇到我的import语句时给出了这个错误:

  

无法识别的导入路径“main / testPackage”(导入路径没有   从主机名开始)

从我在文档中找到的内容来看,我的理解是导入路径应该是src中的文件夹,即在我的情况下是“main”,后面是目录结构..我做错了什么?我使用go得到错误吗?

0 个答案:

没有答案