你好,我是 Golang 新手,安装后我想在我的项目中使用下一个包:\n https://github.com/gin-gonic/gin
\n创建项目后,我执行了下一个命令来安装 gingonic:
\ngo get -u github.com/gin-gonic/gin\nRun Code Online (Sandbox Code Playgroud)\n但是我的项目内部无法识别导入,我知道这与我的 GOROOT 有关,但我无法解决问题。
\n接下来是我的 Go 环境变量:
\nGO111MODULE="on"\nGOARCH="amd64"\nGOBIN=""\nGOCACHE="/Users/rpantoja/Library/Caches/go-build"\nGOENV="/Users/rpantoja/Library/Application Support/go/env"\nGOEXE=""\nGOFLAGS=""\nGOHOSTARCH="amd64"\nGOHOSTOS="darwin"\nGOINSECURE=""\nGOMODCACHE="/Users/rpantoja/go/pkg/mod"\nGONOPROXY="github.com/mercadolibre"\nGONOSUMDB="github.com/mercadolibre"\nGOOS="darwin"\nGOPATH="/Users/rpantoja/go"\nGOPRIVATE="github.com/mercadolibre"\nGOPROXY="http://goregistry.furycloud.io/"\nGOROOT="/usr/local/Cellar/go/1.15/libexec"\nGOSUMDB="sum.golang.org"\nGOTMPDIR=""\nGOTOOLDIR="/usr/local/Cellar/go/1.15/libexec/pkg/tool/darwin_amd64"\nGCCGO="gccgo"\nAR="ar"\nCC="clang"\nCXX="clang++"\nCGO_ENABLED="1"\nGOMOD="/dev/null"\nCGO_CFLAGS="-g -O2"\nCGO_CPPFLAGS=""\nCGO_CXXFLAGS="-g -O2"\nCGO_FFLAGS="-g -O2"\nCGO_LDFLAGS="-g -O2"\nPKG_CONFIG="pkg-config"\nGOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/gz/zfy97n595rs5w_t0dr9wr29dzzxvs4/T/go-build960054223=/tmp/go-build -gno-record-gcc-switches -fno-common"\nRun Code Online (Sandbox Code Playgroud)\n这就是我的项目的配置方式:
\n\n\n\n\n安装包后:
\n\n使用模块设置新的 Go 项目所需执行的步骤:
mkdir ~/projects,然后mkdir ~/projects/myproject.cd ~/projects/myprojectgo mod init projectPath其中projectPath应该是您未来 git 存储库的 URL(例如github.com/myname/myproject)。go.mod这将在当前文件夹中创建该文件。它将包含您使用的模块名称go mod init和当前安装的 go 版本作为最低版本。(现在不用担心,它不会妨碍您。)如果您不打算发布您的项目,您可以为您的项目命名任何名称。但如果它与另一个包或模块名称冲突,你就有麻烦了。go get github.com/gin-gonic/gin(不要使用-u,这很危险,因为它会更新所有子依赖项,而不是使用 gin 开发人员使用的依赖项)。这应该作为要求添加github.com/gin-gonic/gin到您的文件中。go.mod如果您想更新依赖项,只需go get depPath再次调用即可。它将把go.mod文件中的依赖项版本更新为可用的最新版本。如果您想升级/降级到特定版本,请使用go get depPath@vX.Y.Z.main.go使用。github.com/gin-gonic/gingo mod tidy删除所有未使用的导入或将缺失的导入添加到go.mod. (通常您不需要编辑go.mod,go mod tidy我们会为您做这件事。)它还会整理您的go.sum文件,其中包含所有依赖项的校验和。您可以查看该文件,但(通常)永远不必编辑它。go mod tidy会为你做的。Go modules integration已启用。其他设置默认情况下应该是正确的。go clean -modcache. 它将清除您的整个本地模块缓存,因此您需要再次下载所有内容。如果模块缓存因某种原因而混乱,这有时会有所帮助。但正常情况下不应该发生。希望这可以帮助。如果没有,请告诉我,以便我添加缺少的部分。