转载请注明出处:

  go mod 命令是用于管理 Go 语言项目的模块依赖关系的工具。Go 语言从 1.11 版本开始引入了模块支持,并在后续版本中逐渐完善。模块是 Go 语言代码的一个集合,每个模块都有一个唯一的版本标识。通过使用模块,可以更好地管理项目的依赖关系,确保代码的兼容性和可维护性。

以下是 go mod 命令的一些常见用法及其详细示例和分析:

1. 初始化模块

  命令go mod init <module-name>

  作用: 初始化一个新的模块,创建一个 go.mod 文件,并设置模块的名称。

  示例

mkdir myproject
cd myproject
go mod init myproject.com/myproject

2. 获取依赖

  命令go mod tidy

  作用: 添加缺失的依赖项,并移除未使用的依赖项,确保 go.modgo.sum 文件是最新的。

  示例

go get github.com/gorilla/mux
go mod tidy
  • go get 命令用于获取依赖项,并将其添加到 go.mod 文件中。

  • go mod tidy 命令会检查当前项目中的所有导入路径,确保 go.modgo.sum 文件中的依赖项是最新的,并且没有多余的依赖项。

3. 显示依赖关系

  命令go mod graph

  作用: 显示模块依赖关系图。

  示例

go mod graph
  • 该命令会输出当前模块及其依赖模块的关系图,以空格分隔的模块路径表示。

  • 例如,输出可能类似于:

myproject.com/myproject github.com/gorilla/mux@v1.8.2
github.com/gorilla/mux@v1.8.2 golang.org/x/net@v0.0.0-20210503060351-7e0cfde77e3d

4. 验证依赖

  命令go mod verify

  作用: 验证 go.modgo.sum 文件中记录的依赖项的哈希值是否匹配。

  示例

go mod verify
  • 该命令会检查 go.modgo.sum 文件中记录的依赖项的哈希值是否与实际下载的依赖项的哈希值匹配。

  • 如果不匹配,则表明依赖项可能被篡改或损坏。

5. 切换 Go 版本

  命令go mod edit -go=<version>

  作用: 切换模块使用的 Go 版本。

  示例

go mod edit -go=1.19
  • 该命令会修改 go.mod 文件中的 go 指令,将其设置为指定的 Go 版本。

  • 例如,将 go 1.18 改为 go 1.19

go mod 命令是 Go 语言模块管理的重要工具,通过它可以方便地初始化模块、获取依赖、显示依赖关系、验证依赖、切换 Go 版本以及替换依赖。

go mod使用小结的更多相关文章

  1. mod性质 学习笔记

    mod性质小结 \(a\equiv b(\mod m)\) $ \rightarrow \( \)a-b=k*m,k\in Z$ \(a\equiv b且c\equiv d(\mod m)\) \(\ ...

  2. Linux sort命令使用方法

    sort命令在Linux中主要用于对文件进行排序,并将排序结果输出.sort命令输入可以是指定的文件和数据流.本文主要介绍sort命令的基本语法和常见使用实例. sort命令语法 sort命令格式:s ...

  3. [系列] 使用 go modules 包管理工具(一)

    目录 概述 初始化 添加依赖包 go mod 命令 小结 源码地址 概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的. 为什么是开箱即用,它会集成哪些功能? 以上 ...

  4. [bzoj3162]独钓寒江雪_树hash_树形dp

    独钓寒江雪 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3162 题解: 首先,如果没有那个本质相同的限制这就是个傻逼题. 直接树形dp ...

  5. [数据结构]RMQ问题小结

    RMQ问题小结 by Wine93 2014.1.14   1.算法简介 RMQ问题可分成以下2种 (1)静态RMQ:ST算法 一旦给定序列确定后就不在更新,只查询区间最大(小)值!这类问题可以用倍增 ...

  6. [数据结构]KMP小结

    KMP小结   By Wine93 2013.9 1.学习链接: http://www.matrix67.com/blog/archives/115 2.个人小结 1.KMP在字符串中匹配中起着巨大作 ...

  7. Lua的require和module小结

    Lua的require和module小结  module特性是lua5.1中新增的,用于设置Lua文件自己的模块,最常用的方式是module(name,package.seeall),有时候lua文件 ...

  8. 常用Linux命令小结

    常用Linux命令小结 Linux下有很多常用的很有用的命令,这种命令用的多了就熟了,对于我来说,如果长时间没有用的话,就容易忘记.当然,可以到时候用man命令查看帮助,但是,到时候查找的话未免有些临 ...

  9. 45个非常有用的 Oracle 查询语句小结

    45个非常有用的 Oracle 查询语句小结 这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 ...

  10. GopherChina第二天小结

    GopherChina第二天小结 今天继续昨天的文章,参加了第二天的GopherChina,例行完成总结. 基于MINIO的对象存储方案在探探的实践 关于对象存储,之前用过seaweedfs,但是对M ...

随机推荐

  1. Asp.net 获取客户端的信息

    Response.Write("客户端计算机名:" + Request.UserHostName + "<BR />"); Response.Wri ...

  2. Identity – User Login, Forgot Password, Reset Password, Logout

    前言 这篇来聊聊常见操作. 会讲到: Create Account Login Logout Change Password Reset Password (by email) External Lo ...

  3. Spring —— AOP(面向切面编程)

    AOP(Aspect Oriented Programming)简介 面向切面编程,一种编程范式,指导开发者如何组织程序结构 作用:在不惊动原始设计的基础上为其进行功能增强 Spring理念:无入侵式 ...

  4. [namespace hdk] modint

    template<long long mod=INT_MAX,typename T0=long long> class modint{ private: T0 x; long long p ...

  5. 【赵渝强老师】使用MongoDB的命令行工具:mongoshell

    一.启动mongo shell 安装好MongoDB后,直接在命令行终端执行下面的命令: mongo 如下图所示: 可选参数如下: 也可以简写为: 在mongo shell中使用外部编辑器,如:vi, ...

  6. 彻底解决 user.config 文件损坏

    症状见 发生 Configuration system failed to initialize 错误的一个特例 解决的办法,在去读 user.settings 之前捕获错误,比如 Main() 里面 ...

  7. Android dex、odex、oat、vdex、art区别

    1.dex java程序编译成class后,dx工具将所有class文件合成一个dex文件,dex文件是jar文件大小的50%左右. 2.odex(Android5.0之前)全称:Optimized ...

  8. 2022年第十八届 GOPS 全球运维大会资料分享

    全球运维大会是国内第一个运维行业大会,面向互联网.金融.通信及传统行业广大运维技术人员,旨在传播先进技术思想和理念,分享业内最佳实践. 2022年第十八届 GOPS 全球运维大会(深圳站)共分为18个 ...

  9. 什么是 DOM

    百度: DOM 定义:文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口.它是一种与平台和语言无关的应用程序接口(API),它可 ...

  10. PHP mysql 大量批量insert或update数据出错问题

    UPDATE users SET age = 30 WHERE name = 'Alice'; UPDATE users SET age = 25 WHERE name = 'Bob'; UPDATE ...