Ubuntu下如何安装Golang依赖包
在Ubuntu上安装Golang依赖包有两种主流方式。从Go1.11起推荐的GoModules工具自动管理依赖,无需设置GOPATH。传统GOPATH方式需配置环境变量并将项目置于指定目录,适合维护遗留代码。两者可共存,新项目建议采用Modules。
在Ubuntu上安装Golang的依赖包,其实比想象中要直观得多。尤其是从Go 1.11版本开始,官方推出的Go Modules工具彻底改变了依赖管理的体验。下面我会把两种主流方式都梳理一遍,你可以根据项目的实际情况来选择。

方法一:使用Go Modules(推荐)
Go Modules的出现,让开发者终于不用再为依赖版本冲突和目录结构头疼了。只要你的Go版本在1.11以上,就能享受它带来的便利。
- 先确认一下版本,跑一句:
go version- 然后在项目根目录初始化模块:
go mod init 一般填项目的导入路径,比如你打算放到GitHub上的话,就用 github.com/yourname/project。
- 初始化之后,你写代码时引用外部包,Go会自动下载并记录到
go.mod文件中。第一次运行或构建时,它会自动补齐依赖。 - 如果想手动添加某个依赖,直接:
go get - 升级依赖也一样简单,加上
-u参数:
go get -u 整个过程无需手动设置GOPATH,不需要担心项目放错了文件夹。这也是为什么现在几乎所有新项目都首选Go Modules的原因。
方法二:使用GOPATH
在Go Modules流行之前,所有Go代码都必须放在 $GOPATH/src 目录下,依赖管理全靠 go get。虽然现在已经被Modules逐步取代,但很多遗留项目和老教程依然沿用这套模式,了解一下没坏处。
- 首先设置GOPATH环境变量。编辑
~/.bashrc或~/.profile,加入:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin然后执行 source ~/.bashrc 或重新登录终端,让配置生效。
- 在
$GOPATH下创建src目录:
mkdir -p $GOPATH/src- 把你的项目源码放到
$GOPATH/src下的子目录里,比如$GOPATH/src/myproject。 - 用
go get下载依赖。例如安装流行的Web框架Gin:
go get github.com/gin-gonic/gin下载后的包会被缓存到 $GOPATH/pkg/mod (Go 1.11+)或 $GOPATH/src 下(老版本)。
- 在代码中通过
import直接引用即可:
import ("github.com/gin-gonic/gin")得承认,这套流程虽然经典,但版本管理上比较原始——不同项目如果依赖同一个包的不同版本,很容易冲突。这也是为什么Go官方最终推出了Modules。如果你是新项目,直接上Modules就好;如果是维护老代码,GOPATH方法也足够用。两者并不互斥,甚至可以在同一台机器上共存,只要注意项目的根目录有没有 go.mod 文件即可。


































