🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁
🦄 博客首页——🐅🐾猫头虎的博客🎐
🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》 🐅 学会Golang语言,畅玩云原生,走遍大小厂~💐
🐅🐾猫头虎建议Go程序员必备技术栈一览表📖:
☁️🐳
Go语言开发者必备技术栈☸️
:
🐹 GoLang | 🌿 Git | 🐳 Docker | ☸️ Kubernetes | 🔧 CI/CD | ✅ Testing | 💾 SQL/NoSQL | 📡 gRPC | ☁️ Cloud | 📊 Prometheus | 📚 ELK Stack
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🐅🐾🍁🐥
文章目录
- 🐅🐾猫头虎建议Go程序员必备技术栈一览表📖:
- 2019年8月21日 Go生态洞察:迁移到Go模块 🌐
- 摘要
- 引言
- 正文
- 项目迁移概览 🔄
- 使用依赖管理器的项目 🧰
- 没有依赖管理器的项目 📦
- 测试和发布 🚀
- 总结
- 参考资料
- 下一篇预告
- 原创声明
-
原创作者: 猫头虎
-
作者wx: Libin9iOak
-
作者公众号: 猫头虎技术团队
2019年8月21日 Go生态洞察:迁移到Go模块 🌐
摘要
🐯 嗨,猫头虎博主在此!今天我们将探索2019年8月21日发布的Go生态系列文章的第二部分,专注于迁移到Go模块。Go模块是Go 1.11中引入的官方依赖管理解决方案,本文将详细介绍如何将项目转换为模块。无论您是初次接触Go模块还是寻求深入理解,这篇文章都将为您提供宝贵的洞见。🔍
引言
🔎 Go模块系统为Go项目提供了内置于go
命令的官方依赖管理。这篇文章,作为系列的第二部分,将深入讲解如何将Go项目迁移到模块系统,包括不同项目状态的迁移策略。
正文
项目迁移概览 🔄
Go项目在开始转换到模块时可能处于三种状态之一:
- 全新的Go项目。
- 使用非模块依赖管理器的成熟Go项目。
- 没有任何依赖管理器的成熟Go项目。
本文将主要关注后两种情况的迁移过程。
使用依赖管理器的项目 🧰
对于已经使用依赖管理工具的项目,可以通过以下命令进行转换:
$ git clone https://github.com/my/project
[...]
$ cd project
$ go mod init github.com/my/project
go: creating new go.mod: module github.com/my/project
go: copying requirements from Godeps/Godeps.json
$ cat go.mod
module github.com/my/project
go 1.12
require rsc.io/binaryregexp v0.2.1-0.20190524193500-545cabda89ca
$
go mod init
将创建一个新的go.mod
文件,并自动从Godeps.json
、Gopkg.lock
或其他支持的格式导入依赖项。
没有依赖管理器的项目 📦
对于没有依赖管理系统的Go项目,首先要创建一个go.mod
文件:
$ git clone https://go.googlesource.com/blog
[...]
$ cd blog
$ go mod init golang.org/x/blog
go: creating new go.mod: module golang.org/x/blog
$ cat go.mod
module golang.org/x/blog
go 1.12
$
接下来,运行go mod tidy
以添加模块的依赖项。
测试和发布 🚀
迁移到模块后,确保代码构建和测试通过是非常重要的。一些测试可能需要在模块模式下进行调整。最后,您应该为新模块标记并发布一个版本。这是可选的,但没有官方发布,下游用户将依赖于特定提交。
总结
🎯 转换为Go模块对大多数用户来说应该是一个直接的过程。偶尔可能会因非规范导入路径或依赖项中的重大更改而出现问题。未来的文章将探讨发布新版本、v2及以上版本的模块,以及调试奇怪情况的方法。
🔗 本文被猫头虎的Go生态洞察专栏收录,详情点击这里。
参考资料
- Jean de Klerk, “Migrating to Go Modules”, 21 August 2019.
- Go官方博客: https://go.dev/blog.
下一篇预告
🔮 下一篇文章将聚焦于《模块镜像和校验数据库的发布》。我们将探讨Go模块镜像和校验数据库的重要性,以及它们如何为Go模块生态系统提供支持。敬请期待!🌟
原创声明
======= ·
-
原创作者: 猫头虎
-
作者wx: Libin9iOak
-
作者公众号: 猫头虎技术团队
学习 | 复习 | Go生态 |
---|---|---|
✔ | ✔ | ✔ |
本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。
作者保证信息真实可靠,但不对准确性和完整性承担责任。
未经许可,禁止商业用途。
如有疑问或建议,请联系作者。
感谢您的支持与尊重。
点击
下方名片
,加入IT技术核心学习团队。一起探索科技的未来,洞察Go生态,共同成长。