Go的依赖管理

Go依赖管理

Go的依赖管理经历了3个阶段,由于历史原因,目前普遍使用的是Go mod做依赖管理
但是了解过去的依赖管理的优缺点,便于我们理解Go mod的设计

第一阶段:
  Go Path阶段:使用简单,但是由于Go Path的依赖管理只是根据路径来做区分,无法做多版本管理
  因此多个项目如果依赖同一个软件的多个版本,那么Go Path就无能为力了,多个项目无法共享同一个Go Path
第二阶段:
  Vendor阶段:解决了Go Path的项目依赖隔离,项目编译时,优先从vendor目录寻找依赖,找不到才从Go Path中寻找,且不便于依赖升级,仍未解多项目共享Go Path
第三阶段:
  Go Module阶段:解决了上几个时代的遗留问题,并提出几个新概念
  仓库:一个或多个module的集合
  module:一组package的集合
  package:一个或多个源文件的集合

module的版本号遵循语义化规范,即版本号有v(majior).(minor).(patch),如v0.1.0,v1.2.3格式等
且官方提供了命令go mod来操控和管理Go Module,类似maven提供了mvn操控命令

Go.mod文件

go.mod是go项目的模块文件,用于定义模块名,依赖项,版本等

其中字段含义如下:
module:定义当前项目的模块路径
go:定义go使用的版本
require:列出当前模块的依赖及其版本
replace:指定依赖的代替版本

 

posted @   风乐  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示