与我的本地机器相比,在 docker 容器中运行时我遇到了意外的行为go get [module]
,我将不胜感激任何帮助理解这种不同行为的原因。
1) 本地机器
命令:
go get github.com/axw/gocov/gocov
结果:
- $GOPATH /bin包含可执行文件
gocov
。 - 该模块已下载到$GOPATH /src/github.com/axw/gocov/gocov。
- $GOPATH /pkg不包含任何与
gocov
包相关的内容。
2)Docker容器
Dockerfile:
此 dockerfile 用于测试目的,因为它没有入口点。
FROM golang:alpine
COPY . /app
WORKDIR /app
RUN go get -v -u github.com/axw/gocov/gocov
RUN ls $GOPATH/bin
RUN ls -laR / | grep "^\/.*gocov.*$"
结果:
- $GOPATH /bin包含可执行文件
gocov
。 - $GOPATH /src不包含任何与
gocov
包相关的内容。 - 该模块已下载到$GOPATH /pkg/mod/github.com/axw/gocov@v1.0.0。