千家信息网

Go语言包管理工具dep如何用

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要介绍了Go语言包管理工具dep如何用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言包管理工具dep如何用文章都会有所收获,下面我们一起来看看吧。什么是
千家信息网最后更新 2025年11月13日Go语言包管理工具dep如何用

这篇文章主要介绍了Go语言包管理工具dep如何用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言包管理工具dep如何用文章都会有所收获,下面我们一起来看看吧。

什么是dep?

dep和go,在一定程度上相当于maven之于Java,composer之于PHP,dep是go语言官方的一个包管理工具。

相比较go get而言,dep可以直接给引入的第三方包一个专门的目录,并且可以专门制定一个配置文件,控制go项目所引入的包,版本以及其他依赖关系。

官方对于dep的解释是:dep is the official experiment, but not yet the official tool. 也就是说,dep目前还处于试验阶段,还并没有成为一个官方意义上的工具。毕竟go语言还很年轻,但是这也充分的证明了go语言的生态圈十分丰富。

安装

安装dep工具的方式有很多种,如果是mac电脑的话,只需要如下命令:

brew install dep

对于Linux和类Unix系统而言,我们还可以使用如下方式安装dep:

curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

或者直接使用源码安装。

而对于windows电脑,可能会相对来说麻烦些,我们可以直接使用源码编译安装或者直接使用go get命令安装:

go get -u github.com/golang/dep/cmd/dep

待安装完成之后,将dep.exe放在环境变量就可以使用了。

使用

接下来我们来看一下dep的使用方式。

当安装好dep之后,我们在命令行中,输入dep就可以看到有关dep的命令了。

Dep is a tool for managing dependencies for Go projectsUsage: "dep [command]"Commands: init Set up a new Go project, or migrate an existing one status Report the status of the project's dependencies ensure Ensure a dependency is safely vendored in the project version Show the dep version informationExamples: dep init  set up a new project dep ensure  install the project's dependencies dep ensure -update  update the locked versions of all dependencies dep ensure -add github.com/pkg/errors add a dependency to the projectUse "dep help [command]" for more information about a command.

我们可以看出来,dep一般进场会使用3个命令:

init-用来初始化项目

status-用来查看当前项目的依赖包的状态

ensure-用来同步包的配置文件和引入的包

下面我们正式使用dep来创建一个项目。首先建立一个项目路径,这里我们将项目路径叫做depProject。然后在项目路径中建立src源代码目录。在src中建立一个存放dep文件和项目主文件的目录,我们暂且可以叫做depmain,并建立一个go文件。

这样我们的目录结构如下:

depProject
|----src
|----depmain
|-----main.go

建立好之后,我们在main.go中写一个简单的go程序:

package mainimport ( "fmt")func main() { fmt.Println("hello)}

之后我们在这个目录下运行如下命令:

dep init

运行完成之后,dep就会为我们自动生成如下文件和目录:

有点像常规go项目的样子了,不过需要注意的是pkg中存放的go语言引入包的缓存文件,vendor中存放的是真正的引入的包内容。接下来是两个文件,Gopkg.lock和Gopkg.toml。Gopkg.lock文件是自动生成的,而Gopkg.toml文件是我们可以编辑的文件,通过编辑这个文件,并运行dep的命令可以达到引入包的目的:

# 必需包required = ["github.com/gin-gonic/gin"]# 忽略包#ignored = []没有可以不写# 项目元数据#[metadata]# 约束条件[[constraint]] # name =  # 可选:版本 # version = # 分支 # branch # 修订 # revision # 可选:指定来源 # source = "github.com/gin-gonic/gin"

以上代码是一个示例,我们写好之后运行

dep ensure

就可以了,我们会看到vendor下多了一些有关此包的依赖和引入。

我们引入了gin框架的包,所以我们现在就可以使用gin框架了,写的时候,和我们平时的go语言项目一样:

package mainimport "github.com/gin-gonic/gin"func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{  "message": "pong", }) }) r.Run() // listen and serve on 0.0.0.0:8080}

这样做完全没有问题,我们只用考虑这个包原本的路径github.com/gin-gonic/gin就好。

接下来我们就可以编译运行这个项目了。

另外需要注意的是,使用dep管理包控制依赖的时候,如果我们需要新建目录,并编写自己的新的包名的时候,只需要在src下新建目录就可以了。这样做才能正确引入。

比如:我们要编写一个add的函数,我们可以这样,在src下简历一个utils目录,下写个add.go文件:

package utilsfunc Add(a int, b int) int { return a+b}

这样在主程序中,这样写就可以import自己写的包,并使用自己的函数了:

package mainimport ( "utils" "fmt")func main() { fmt.Println("hello") utils.Add(1, 1)}

关于"Go语言包管理工具dep如何用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Go语言包管理工具dep如何用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

文件 项目 语言 目录 工具 命令 管理 运行 路径 接下来 内容 官方 方式 时候 知识 函数 框架 源码 版本 电脑 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 负责网络技术的部门 软件开发过程实例 中国移动智慧城市网络安全中心 西宁网络技术产品介绍 购买软件开发许可证怎么做账 外码的定义 三级数据库 django数据库删数据 网络安全威胁情报模型 征途服务器崩溃 jdbc 操作数据库不返回结果 socks4代理服务器 如何采集淘宝联盟的数据库 网络安全解决方法 数据库管理系统是哪个好 数据库应用基础考试要求 江西省网络安全和信息化 参数化设计软件开发 北京软件开发如何收费 可以一次性删除多个数据库吗 旅舍系统数据库技术存在的问题 小学生网络安全实践活动 网络安全信息分享法案 中搜网络技术有限公司官网 天津微包互联网科技有限公司 计算机网络技术行业实习内容 上海常见网络技术参考价 无锡公安网络安全支队副支队长 银行软件开发岗具体工作 无线网络技术教程实验资料 武清区技术软件开发服务供应
0