Golang Go语言的包管理问题

发布于 1周前 作者 ionicwang 来自 Go语言

1、包都来自 Github,如果有一个底层包哪天没了,上面的不都编译不了吗。 2、有的包的路径来自第三方网站,网站能访问但是开启代理就 500,可是不开启代理,别的依赖就装不了。


Golang Go语言的包管理问题
16 回复

你可以自己创建一个 vendor 文件夹,依赖的包都放在这个里面。这样就万无一失了。

更多关于Golang Go语言的包管理问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html



错了, 应该用这个官版的 https://github.com/golang/dep

#3 dep 还行,就是首次 init 的时候慢的让你怀疑人生。

go 的包管理很是蛋疼。

这就是 go 包管理蛋疼的地方了啊

dep 已经要被抛弃了, 请静静等待 vgo

vgo 了解一下,等正式版

dep 还没捂热呢, 又来一个…
vgo 不只是包管理那么简单啊…

被 go 的包管理折腾不轻,目前组里用的都是 glide。虽然每次 update 很慢,但好像是比较好的选择了。墙外的包基本上在 github 上都有镜像,glide 配置文件指定下 git 仓库地址就行了。

以前看了一眼 dep,没找到怎么管理 gitlab 上的包的方法,gitlab 上的包是需要指定 git 仓库地址的,dep 好像不支持。

目前用的 dep 看在官方推 只是 dep 安装大部分不也是去 github 上下载

走代理速度还好,就是有的包不再 github 上,第三方网站上的走代理直接 500,dep 就报错,直接 init 失败
比如这个 http://www.stathat.com/c/consistent

和 Glide 比哪个好

#10 简单配置一下 git, dep 就支持从 gitlab 拉取代码了
https://edenmal.moe/2017/06/02/Golang-go-get-from-Gitlab/

关于Golang(Go语言)的包管理问题,这确实是许多开发者在使用Go语言时遇到的一个挑战。以下是对此问题的专业解答:

Go语言的包管理主要通过Go Modules来实现,它是官方推荐的包管理工具。然而,Go语言的包管理系统相较于其他现代编程语言来说并不完善,可能存在的问题包括依赖冲突、版本锁定不灵活、官方包管理镜像不稳定等。

为了解决这些问题,开发者可以采取以下措施:

  1. 使用Go Modules:确保项目已经初始化Go Modules(通过go mod init命令),并正确添加和更新依赖(使用go get命令)。
  2. 处理依赖冲突:当遇到依赖冲突时,可以尝试使用go mod tidy命令来清理不必要的依赖,或者手动调整go.mod文件来解决冲突。
  3. 版本控制:在go.mod文件中明确指定依赖包的版本,以避免版本不兼容的问题。
  4. 使用镜像源:在网络条件不佳或官方镜像源不稳定时,可以尝试使用国内的镜像源来加速依赖包的下载。

总之,虽然Go语言的包管理系统存在一些挑战,但通过合理使用Go Modules和其他工具,开发者可以有效地管理项目依赖,确保项目的稳定性和可维护性。

回到顶部