预期:我使用 go get 安装包,它会在 src 文件夹中创建所有必需的文件夹,但它们只出现在 pkg/mod 文件夹中,我无法使用它们。
现实:它说它正在下载,完成,然后什么都没有。
一切都在 Windows 环境变量中正确设置,这只是 .. 不起作用。
使用的命令: go get github.com/fatih/color
去环境:
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\admin\AppData\Local\go-build
set GOENV=C:\Users\admin\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\admin\Desktop\gostuff\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\admin\Desktop\gostuff
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.16
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\admin\AppData\Local\Temp\go-build639062626=/tmp/go-build -gno-record-gcc-switches ```
Run Code Online (Sandbox Code Playgroud)
sam*_*ife 27
将 GO111MODULE 环境变量设置为“关闭”为我解决了这个问题。我正在使用 zsh。这是我放在 .zshrc 文件中的命令,
export GO111MODULE=off
Run Code Online (Sandbox Code Playgroud)
我的工作环境,
macOS 大苏尔
转到版本:1.16
Coc*_*nut 19
从 Go 1.15 开始,go get默认情况下会在$GOPATH/pkg/mod/( GOMODCACHE) 中下载源代码,这取代了原来的位置$GOPATH/src/。(参考: https: //go.dev/doc/go1.15#go-command)
关闭 Go 模块(例如GO111MODULE=off下载源代码)是一个坏主意。
如果您只需要下载源代码,我强烈建议您使用git clone。
$ git clone https://github.com/fatih/color
Run Code Online (Sandbox Code Playgroud)
如果您需要将其放入$GOPATH/src/,只需运行:
$ git clone https://github.com/fatih/color $GOPATH/src/github.com/fatih/color
Run Code Online (Sandbox Code Playgroud)
请注意,从 Go 1.14 开始,Go 项目不再局限于支持$GOPATH/src/Go 模块。您现在并不真正需要该文件夹。$GOPATH/src/在引入 Go 模块之前,该文件夹用于依赖管理。
现在建议用户迁移到 Go 模块,如https://github.com/golang/go/wiki/Modules指出:“自 Go 1.14 以来,模块支持被认为已准备好用于生产使用,并且鼓励所有用户迁移到模块来自其他依赖管理系统”。
Go 模块将在 $GOPATH/mod 中保存依赖项。
因此,当您将它们导入到您的项目中时,您需要担心两件事:它们被导入到 .go 文件中,并且它们存在于 go.mod 文件中。
下载某个版本后,它们将可用于所有未来的项目。
如果您想了解更多关于它们以及它们是如何组织的,您可以阅读此处提供的 Go Modules Wiki https://github.com/golang/go/wiki/Modules
小智 5
你可以试试这个命令。
export GO111MODULE=off
go get github.com/fatih/color
Run Code Online (Sandbox Code Playgroud)