使用 dep 配置 golang 开发环境
概要
golang 的包管理一直没有官方统一的解决方案,因此也产生了很多非官方的包管理工具。 之前我一直使用的 gb(https://getgb.io/) 能够很好的隔开各个 golang 工程,当时 gb 创建的工程不太融入已有的 GOPATH 中。 gb 相当于是把工程的目录作为 GOPATH,并且它的 vendor 目录也和 golang 自己的 vendor 不太一样。
dep 的 Roadmap 中已经制定了成为 golang 官方包管理工具的计划, 所以,使用 dep 来组织自己的 golang 项目以后能够更好的和其他 golang 项目结合。
配置
golang 的配置
我的 golang 的配置主要分 3 块:
-
GOROOT: 用于存放 golang 本身,更新 golang 版本时,只要更新这个就行
-
GOPATH: 用于存放 golang 的工具(gofmt,gocode 等等)
-
GOPROJECTS:用于存放各种 golang 项目
export GOROOT=/usr/local/go
export GOPROJECTS=/path/to/goprojects
export GOPATH=/path/to/gopath
export PATH=GOROOT/bin:GOPROJECTS/binexport GOPATH=GOPROJECTS
go project 的配置
在 $GOPROJECTS/src 下创建自己的 golang 项目
cd $GOPROJECTS/src
mkdir myGolangProject
cd myGolangProject
touch main.go
# write some golang code in main.go
dep init
dep ensure # add dependencies for main.go
go install # compile myGolangProject
myGolangProject 可以作为一个 git 仓库提交到远程的 git 仓库,以便于和其他人分享
总结
其实很多 golang 的包管理工具都不错,甚至不用包管理工具,通过合理的划分 GOPATH 也可以达到 golang 项目管理的目的。 使用 dep,一方面是因为它以后很有可能会成为 golang 的官方包管理工具,另一方面也是为了更好的分享 golang 代码, 毕竟通过 dep,别人可以一键安装所有依赖,避免写很多安装说明的文档。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2012-09-17 《Linux内核设计与实现》读书笔记(五)- 系统调用