Go 错误: go : go.mod 文件在当前目录或任何父目录中找不到;

我安装了Golang,并在第一时间遇到了错误。go.mod file not found in current directory or any parent directory


但是我正在研究目录。go.mod不是只有在当前工作目录位于GOPATH之外时才需要吗?<GOPATH>/src


以下是详细信息


围棋版 :go version go1.16.4 windows/amd64


去 env :


set GO111MODULE=

set GOARCH=amd64

set GOBIN=

set GOCACHE=C:\Users\<userName>\AppData\Local\go-build

set GOENV=C:\Users\<userName>\AppData\Roaming\go\env

set GOEXE=.exe

set GOFLAGS=

set GOHOSTARCH=amd64

set GOHOSTOS=windows

set GOINSECURE=

set GOMODCACHE=C:\Users\<userName>\go\pkg\mod

set GONOPROXY=

set GONOSUMDB=

set GOOS=windows

set GOPATH=C:\Users\<userName>\go

set GOPRIVATE=

set GOPROXY=https://proxy.golang.org,direct

set GOROOT=C:\Program Files\Go

set GOSUMDB=sum.golang.org

set GOTMPDIR=

set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64

set GOVCS=

set GOVERSION=go1.16.4

set GCCGO=gccgo

set AR=ar

set CC=gcc

set CXX=g++

set CGO_ENABLED=1

set GOMOD=NUL

set CGO_CFLAGS=-g -O2

set CGO_CPPFLAGS=

set CGO_CXXFLAGS=-g -O2

set CGO_FFLAGS=-g -O2

set CGO_LDFLAGS=-g -O2

set PKG_CONFIG=pkg-config

set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\<userName>\AppData\Local\Temp\go-build4258913208=/tmp/go-build -gno-record-gcc-switches

工作目录:C:\Users\<userName>\go\src\main.go


法典:


package main


import "fmt"


func main() {

    fmt.Println("HELLO")

}

和错误:


go: go.mod file not found in current directory or any parent directory; see 'go help modules'

Build process exiting with code: 1 signal: null

p.s. 我正在使用VS Code


ABOUTYOU
浏览 11683回答 3
3回答

宝慕林4294392

“go 命令现在默认在模块感知模式下构建包,即使没有 go.mod 存在也是如此。“您可以将 GO111MODULE 设置为 auto,仅当当前目录或任何父目录中存在 go.mod 文件时,才能启用模块感知模式。在命令提示符下go&nbsp;env&nbsp;-w&nbsp;GO111MODULE=autoGo 1.16 中的新模块更改

慕村9548890

学习golang,我也遇到了这个问题。这为我解决了这个问题:go&nbsp;mod&nbsp;init这将创建一个基本文件,其中包含要在工作区外运行的模块和版本信息。我同意更多地了解Go模块系统,而不是关闭env var,但是要启动并运行它似乎很好。go.modgo install$GOPATH

holdtom

从 Go 1.16 开始,环境变量默认被视为“on”,这意味着 Go 期望找到一个文件,并且不再回退到预模块行为。GO111MODULEgo.modGOPATH如果要返回到 1.16 之前的行为,现在必须显式指定 ,但最好创建一个文件。GO111MODULE=autogo.mod查看&nbsp;https://golang.org/doc/go1.16#go-command&nbsp;和&nbsp;https://golang.org/ref/mod
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go