繁体   English   中英

“去:go.mod 文件在当前目录中找不到”但它已经存在于目录中

[英]"go: go.mod file not found in current directory" but it already exist in the directory

我正在尝试为围绕 GCP 的项目构建 DockerFile。 我正在使用 go 版本 1.17,它在 get 命令中失败,说 go.mod 未找到,但它与 Z3254677A7917C6C01F55212F865C 存在于同一目录中。 我已经尝试过go mod initgo mod tidy但我仍然遇到同样的错误。 这是我的环境变量和文件:

GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/name/.cache/go-build"
GOENV="/home/name/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/name/work/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/name/work"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.17.1"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/name/workspace/professional-services/tools/gcs2bq/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3855548593=/tmp/go-build -gno-record-gcc-switches"

我的工作目录中的文件列表:

name@vm-gcs2bq:~/workspace/professional-services/tools/gcs2bq$ ls
Dockerfile  bigquery.schema   datastudio.png           gcs2bq.avsc  go.mod  main.go
README.md   credentials.json  gcs2bq-custom-role.yaml  gcs2bq.yaml  go.sum  run.sh

我在 Dockerfile 中的工作目录设置正确(gcs2bq 之一),在尝试构建它时我得到:

Step 6/16 : RUN go get -v ./...
 ---> Running in ebaa284887cf
go: go.mod file not found in current directory or any parent directory; see 'go help modules'

我对 go 还是有点陌生,主要是 c 和 python,我读到包是用这种语言以不同的方式管理的,但我认为我也正确设置了路径。 如我错了请纠正我。

任何帮助表示赞赏,如果需要,请询问更多详细信息。

提前致谢 !

好的,我解决了我的问题。

首先,我的 WORKDIR 没有指向正确的目录: WORKDIR /go/src/github.com/rosmo/gcs2bq而不是WORKDIR /work/src/github.com/rosmo/gcs2bq但这只是因为我使用 /work而不是 /go 用于已安装的软件包。

然后我在COPY main.go. 命令:

RUN  go mod init v1
RUN go mod tidy

它创建了“丢失的” go.mod 文件并正确安装了所需的依赖项/包。

构建的 rest 完全正常。

谢谢你的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM