安装后导入无法识别包
来源:Golang技术栈
时间:2023-03-06 13:49:57 131浏览 收藏
golang学习网今天将给大家带来《安装后导入无法识别包》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到golang等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!
问题内容
嗨,我是 Golang 的新手,安装后我想在我的项目中使用下一个包: https ://github.com/gin- gonic/gin
创建项目后,我执行了下一个命令来安装 gingonic:
go get -u github.com/gin-gonic/gin
但是在我的项目中无法识别导入,我知道这与我的 GOROOT 有关,但我无法解决问题。
接下来是我的 Go 环境变量:
GO111MODULE="on" GOARCH="amd64" GOBIN="" GOCACHE="/Users/rpantoja/Library/Caches/go-build" GOENV="/Users/rpantoja/Library/Application Support/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOINSECURE="" GOMODCACHE="/Users/rpantoja/go/pkg/mod" GONOPROXY="github.com/mercadolibre" GONOSUMDB="github.com/mercadolibre" GOOS="darwin" GOPATH="/Users/rpantoja/go" GOPRIVATE="github.com/mercadolibre" GOPROXY="http://goregistry.furycloud.io/" GOROOT="/usr/local/Cellar/go/1.15/libexec" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/Cellar/go/1.15/libexec/pkg/tool/darwin_amd64" GCCGO="gccgo" AR="ar" CC="clang" CXX="clang++" CGO_ENABLED="1" GOMOD="/dev/null" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-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"
这就是我的项目的配置方式:
安装包后:
正确答案
使用模块设置新 Go 项目的步骤:
- 已安装 Go。最好是最新版本,最好 >= v1.13 哪个 Go 模块是默认的。对于 go1.11 及更高版本,您必须执行一些额外的步骤才能启用 Go 模块。
- 为您的项目创建一个新文件夹。最好不在 GOPATH 中。默认情况下 GOPATH 是 ~/go,所以创建你自己的项目文件夹,例如
mkdir ~/projects
然后mkdir ~/projects/myproject
. - 所有进一步的命令都从新项目的根目录运行,所以最好在那里切换:
cd ~/projects/myproject
- 在新创建的文件夹中运行
go mod init projectPath
你projectPath
未来的 git repo 的 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/gin
。 - 用于
go mod tidy
删除所有未使用的导入或将缺少的导入添加到go.mod
. (通常您不需要编辑go.mod
,go mod tidy
它会为您完成。)它还会整理您的go.sum
文件,其中包含所有依赖项的校验和。您可以查看该文件,但(通常)永远不必编辑它。go mod tidy
会为你做的。 - 在 Goland 中,最重要的是确保
Go modules integration
已启用。默认情况下,其他设置应该是正确的。 - 如果依赖项仍然存在问题,可以尝试
go clean -modcache
. 它将清除您的整个本地模块缓存,因此您需要再次下载所有缓存。如果模块缓存以某种方式搞砸了,这有时会有所帮助。但是,不应该正常发生。
希望这可以帮助。如果没有,请告诉我,以便我可以添加缺少的部分。
理论要掌握,实操不能落!以上关于《安装后导入无法识别包》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
-
439 收藏
-
262 收藏
-
193 收藏
-
188 收藏
-
500 收藏
最新阅读
更多>
-
139 收藏
-
204 收藏
-
325 收藏
-
477 收藏
-
486 收藏
-
439 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习