主要.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 envset GO111MODULE=onset GOARCH=amd64set GOBIN=set GOCACHE=C:\Users\agriz\AppData\Local\go-buildset GOENV=C:\Users\agriz\AppData\Roaming\go\envset GOEXE=.exeset GOFLAGS=set GOHOSTARCH=amd64set GOHOSTOS=windowsset GOINSECURE=set GOMODCACHE=C:\Users\agriz\go\pkg\modset GONOPROXY=set GONOSUMDB=set GOOS=windowsset GOPATH=C:\Users\agriz\goset GOPRIVATE=set GOPROXY=https://proxy.golang.org,directset GOROOT=C:\Program Files\Goset GOSUMDB=sum.golang.orgset GOTMPDIR=set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64set GOVCS=set GOVERSION=go1.16.7set GCCGO=gccgoset AR=arset CC=gccset CXX=g++set CGO_ENABLED=1set GOMOD=NULset CGO_CFLAGS=-g -O2set CGO_CPPFLAGS=set CGO_CXXFLAGS=-g -O2set CGO_FFLAGS=-g -O2set CGO_LDFLAGS=-g -O2set PKG_CONFIG=pkg-configset 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:/ 运行代码这可能吗?我该怎么做?
2 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
set GO111MODULE=off
而且到理想的位置也很好用。set GOPATH
go env -w GO111MODULE=off
和
set GOPATH=D:\go
这个解决了我的问题。
MM们
TA贡献1886条经验 获得超2个赞
您可以使用 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 的更多详细信息,请参阅此处。
- 2 回答
- 0 关注
- 60 浏览
添加回答
举报
0/150
提交
取消