电话
400 9058 355
go mod init 报“go.mod already exists”是保护机制,因目录已是模块根;go get 默认不写入 go.mod,需用 go mod tidy 或显式 import;go mod tidy 保留间接依赖;私有仓库证书问题需配置 sslCAInfo 或 GOINSECURE。
当你在已有 go.mod 文件的目录下重复执行 go mod init,Go 会拒绝覆盖,直接报错。这不是错误,而是保护机制——Go 认为当前已是模块根目录。
go mod init 一次,首次声明模块路径(如 go mod init github.com/yourname/project)go.mod 和 go.sum,再运行 go mod init
example.com/myapp
go get 默认只下载并缓存包,不自动修改 go.mod,除非明确要求“作为依赖引入”。这是 Go 1.16+ 的默认行为变化,避免隐式污染模块定义。
go get -d github.com/gin-gonic/gin(-d 表示只下载、不构建)go mod tidy,它会自动补全缺失依赖、清理未使用项go get 显示 cached,说明包已在本地 $GOPATH/pkg/mod 缓存中,不会重复下载@latest 或 @v1.9.1 可指定版本,例如:go get github.com/spf13/cobra@v1.8.0
go mod tidy 只移除「代码中完全没 import」且「没被其他依赖间接引用」的包。哪怕一个包只被某个二级依赖用到,它也会保留在 go.mod 的 require 列表里(标记为 // indirect)。
go list -m -u all 查看所有模块及其更新状态go mod edit -droprequire=github.com/some/oldpkg,但可能导致构建失败//
indirect 却实际未被任何依赖链需要,可能是缓存残留,可尝试 go clean -modcache 后重跑 go mod tidy
go mod graph | grep "github.com/sirupsen/logrus"
这条命令能快速查出哪个依赖拉入了 logrus,方便判断是否真需要它,或能否替换成 zap 等更轻量替代品。
立即学习“go语言免费学习笔记(深入)”;
内网 Git 服务(如 Gitea、GitLab 自托管)常因自签名证书导致 go get 失败,报错含 x509 关键词。
GIT_SSL_NO_VERIFY=1,再运行 go get
git config --global http."https://git.internal/".sslCAInfo "/path/to/ca.crt"
GOINSECURE 跳过 TLS 验证(仅限 HTTP 协议):export GOINSECURE="git.internal"
GOPROXY=https://proxy.golang.org,direct)对私有域名无效,Go 会自动 fallback 到 direct,此时证书问题仍存在indirect 标记含义、私有证书处理这三处最容易被跳过,但恰恰决定长期维护成本。
邮箱:8955556@qq.com
Q Q:8955556
本文详解如何将Go官方present工具(用于生成HTML5...
PySNMP在不同版本中对SNMP错误状态(errorSta...
time.Sleep仅阻塞当前goroutine,其他gor...
PHPfopen()创建含特殊符号的文件名失败主因是操作系统...
WooCommerce中通过代码为分组产品动态聚合子商品的属...
io.ReadFull返回io.ErrUnexpectedE...
本文详解Yii2中控制器向视图传递ActiveRecord数...
本文详解为何通过wp_set_object_terms()为...
Pytest中使用@mock.patch类装饰器会导致补丁泄...
带缓冲的channel是并发安全的FIFO队列;make(c...