软件包不在 GOROOT 中

主要.go:5:2: 程序包问候语不在 GOROOT 中 (C:\程序文件\转到\src\问候语)


我正在阅读 Head First First go,它被写成在 c:/用户/用户名/go/src/软件包名称和 c:/用户/用户名/go/src/project_name


当我尝试运行


go run main.go从project_name文件夹中,我收到以下错误。main.go:5:2: package greetings is not in GOROOT (C:\Program Files\Go\src\greetings)


C:\Users\agriz>go env

set GO111MODULE=on

set GOARCH=amd64

set GOBIN=

set GOCACHE=C:\Users\agriz\AppData\Local\go-build

set GOENV=C:\Users\agriz\AppData\Roaming\go\env

set GOEXE=.exe

set GOFLAGS=

set GOHOSTARCH=amd64

set GOHOSTOS=windows

set GOINSECURE=

set GOMODCACHE=C:\Users\agriz\go\pkg\mod

set GONOPROXY=

set GONOSUMDB=

set GOOS=windows

set GOPATH=C:\Users\agriz\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.7

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\agriz\AppData\Local\Temp\go-build2047492330=/tmp/go-build -gno-record-gcc-switches

我不想将代码保存在c驱动器中。我想从 D:/ 运行代码这可能吗?我该怎么做?


梵蒂冈之花
浏览 61回答 2
2回答

白衣非少年

set GO111MODULE=off而且到理想的位置也很好用。set GOPATHgo env -w GO111MODULE=off和set GOPATH=D:\go这个解决了我的问题。

MM们

您可以使用 go mod 并显式提供要初始化的模块的路径。来自文档Init 初始化并将新的 go.mod 写入当前目录,实际上创建了一个根植于当前目录的新模块。文件 go.mod 必须不存在。如果可能,init 将从导入注释(请参阅“转到帮助导入路径”)或版本控制配置中猜测模块路径。要覆盖此猜测,请提供模块路径作为参数。例   'go mod init example.com/m' to initialize a v0 or v1 module     'go mod init example.com/m/v2' to initialize a v2 module有关如何设置 go-program 的更多详细信息,请参阅此处。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go