为了账号安全,请及时绑定邮箱和手机立即绑定

软件包不在 GOROOT 中

软件包不在 GOROOT 中

Go
梵蒂冈之花 2022-09-19 15:02:48
主要.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

这个解决了我的问题。


查看完整回答
反对 回复 2022-09-19
?
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 的更多详细信息,请参阅此处



查看完整回答
反对 回复 2022-09-19
  • 2 回答
  • 0 关注
  • 60 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信