<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Dep on Tony Bai</title><link>https://tonybai.com/tags/dep/</link><description>Recent content in Dep on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Mon, 27 Oct 2025 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/dep/index.xml" rel="self" type="application/rss+xml"/><item><title>Go 模块构建与依赖管理：我们到底在“折腾”什么？</title><link>https://tonybai.com/2025/10/27/the-ultimate-guide-to-go-module/</link><pubDate>Mon, 27 Oct 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/10/27/the-ultimate-guide-to-go-module/</guid><description>Go 模块构建与依赖管理：我们到底在“折腾”什么？ - Tony Bai Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 我的技术专栏 * 文章列表 G...</description></item><item><title>Go 1.22新特性前瞻</title><link>https://tonybai.com/2023/12/25/go-1-22-foresight/</link><pubDate>Mon, 25 Dec 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/12/25/go-1-22-foresight/</guid><description>本文永久链接 – https://tonybai.com/2023/12/25/go-1-22-foresight 美国时间2023年12月20日，Go官方宣布Go 1.22rc1发布，开启了为期2个多月的、常规的公测之旅，Go 1.22预计将于2024.2月份正式发布！ 除了在官网下载Go 1.22rc1版本进行新特性体验之外，我们还可以通过在线的Go Playground选择“Go dev b...</description></item><item><title>Go语言有哪些“劣势”</title><link>https://tonybai.com/2020/12/24/the-disadvantages-of-go/</link><pubDate>Thu, 24 Dec 2020 00:00:00 +0800</pubDate><guid>https://tonybai.com/2020/12/24/the-disadvantages-of-go/</guid><description>本文源于笔者对知乎上的一个问题“Go有哪些劣势？”(https://www.zhihu.com/question/300163211)的一次回答(https://www.zhihu.com/question/300163211/answer/1632229924)。当时随手花几分钟在手机上写了一些点。但事后我觉得应该再做一些系统地思考。在这里我就将更系统地思考后的答案整理并分享给大家。 关于Go语...</description></item><item><title>vendor目录是否需要提交到代码库中？答案全在这一篇</title><link>https://tonybai.com/2020/12/03/should-you-commit-the-vendor-folder-in-go/</link><pubDate>Thu, 03 Dec 2020 00:00:00 +0800</pubDate><guid>https://tonybai.com/2020/12/03/should-you-commit-the-vendor-folder-in-go/</guid><description>如果您还在使用vendor机制管理依赖包，那么说明您肯定是处于下面两种情况之一！ * 还工作在传统的GOPATH模式下(使用Go 1.10及之前版本；或Go 1.11及之后版本，但GO111MODULE=off)，利用vendor管理目标包的特定依赖； * 工作在go module模式下，但仍然利用vendor管理目标module的特定依赖并使用go build -mod=vendor来构建。 那...</description></item><item><title>Go modules：最小版本选择</title><link>https://tonybai.com/2019/12/21/go-modules-minimal-version-selection/</link><pubDate>Sat, 21 Dec 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/12/21/go-modules-minimal-version-selection/</guid><description>一. 介绍 ----- 每个依赖管理解决方案都必须解决选择依赖项版本的问题。当前存在的许多版本选择算法都试图识别任何依赖项的“最新最大(latest greatest)”版本。如果您认为语义版本控制(sematic versioning)将被正确应用并且这种社会契约得到遵守，那么这是有道理的。在这样的情况下，依赖项的“最新最大”版本应该是最稳定和安全的版本，并且应与较早版本具有向后兼容性。至少在相...</description></item><item><title>Go语言包管理简史</title><link>https://tonybai.com/2019/09/21/brief-history-of-go-package-management/</link><pubDate>Sat, 21 Sep 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/09/21/brief-history-of-go-package-management/</guid><description>包管理是Go一直被诟病做得不好的功能之一。先前版本（go 1.11之前）的主要缺点之一是go get是缺乏对依赖包版本的管理和对可复制构建(reproducible build)的支持。Go社区已经开发了一些包管理器和工具作为版本化包依赖的事实标准解决方案，如glide，dep以及一些辅助工具等。 &amp;gt; “我在生产构建中使用go get。” – 没有人这么说过。 Go语言的包管理实现可追溯到Goog...</description></item><item><title>Go module机制下升级major版本号的实践</title><link>https://tonybai.com/2019/06/03/the-practice-of-upgrading-major-version-under-go-module/</link><pubDate>Mon, 03 Jun 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/06/03/the-practice-of-upgrading-major-version-under-go-module/</guid><description>Go module机制在Go 1.11版本引入，虽然也伴随着不小的质疑声，但总体上Go社区多数Gopher是接受go module的，很多标杆式的Go项目(比如kubernetes、kubernetes client-go等)也都逐渐转向了Go module，并且Gopher也在向core team反馈了自己的建议和问题。Go core team也在go module最初设计的基础上持续进行着改进...</description></item><item><title>Go 1.11中值得关注的几个变化</title><link>https://tonybai.com/2018/11/19/some-changes-in-go-1-11/</link><pubDate>Mon, 19 Nov 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/11/19/some-changes-in-go-1-11/</guid><description>转眼间又近年底，距8月25日Go 1.11版本正式发布已过去快三个月了。由于种种原因，Go语言发布变化系列的Go 1.11版本没能及时放出。近期网课发布上线后，个人时间压力稍缓和。又恰看到近期Go 1.12 release note的initial version已经加入到master，于是这篇文章便上升到个人Todo list的Top3的位置，我也尽一切可能的碎片时间收集素材，撰写文章内容。这个...</description></item><item><title>初窥Go module</title><link>https://tonybai.com/2018/07/15/hello-go-module/</link><pubDate>Sun, 15 Jul 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/07/15/hello-go-module/</guid><description>自2007年“三巨头（Robert Griesemer, Rob Pike, Ken Thompson）”提出设计和实现Go语言以来，Go语言已经发展和演化了十余年了。这十余年来，Go取得了巨大的成就，先后在2009年和2016年当选TIOBE年度最佳编程语言，并在全世界范围内拥有数量庞大的拥趸。不过和其他主流编程语言一样，Go语言也不是完美的，不能满足所有开发者的“口味”。这些年来Go在“包依赖...</description></item><item><title>写Go代码时遇到的那些问题[第3期]</title><link>https://tonybai.com/2018/04/06/the-problems-i-encountered-when-writing-go-code-issue-3rd/</link><pubDate>Fri, 06 Apr 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/04/06/the-problems-i-encountered-when-writing-go-code-issue-3rd/</guid><description>我有一个习惯，那就是随时记录下编程过程中遇到的问题（包括问题现场、问题起因以及对问题的分析），并喜欢阶段性的对一段时间内的**编码过程的得与失**进行回顾和总结。内容可以包括：对编程语法的新认知、遇坑填坑的经历、一些让自己豁然开朗的小tip/小实践等。记录和总结的多了，感觉有价值的，就成文发在博客上的；一些小的点，或是还没有想清楚的事情，或思路没法结构化统一的，就放在资料库里备用。“写Go代码时遇...</description></item><item><title>TB一周萃选[第10期]</title><link>https://tonybai.com/2018/03/03/10th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sat, 03 Mar 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/03/03/10th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第10期\]”**的归档。 &amp;gt; 这个世界上最危险的毒药，就是成就感。而解药就是每晚都想一想，明天如何做得更好。 – 英格瓦坎普拉德，宜家创始人 2018年元宵节已过，这个传统意义上的年就算真的过完了，我们的那颗有些闲散、有些懈怠的心需要收一收，是时候为2018年的“事业”做些规划，从2018的起跑线上起跑出去了。就连现在的孩子，在开学第一课时都...</description></item><item><title>TB一周萃选[第8期]</title><link>https://tonybai.com/2018/02/03/8th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sat, 03 Feb 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/02/03/8th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第8期\]”**的归档。 &amp;gt; 再看看那个光点，它就在这里。那是我们的家园，我们的一切。你所爱的每一个人，你认识的每一个人，你听说过的每一个人，曾经有过的每一个人，都在它上面度过他们的一生。我们的欢乐与痛苦聚集在一起，数以千计的自以为是的宗教、意识形态和经济学说，所有的猎人与强盗、英雄与懦夫、文明的缔造者与毁灭者、国王与农夫、年轻的情侣、母亲与父...</description></item><item><title>写Go代码时遇到的那些问题[第2期]</title><link>https://tonybai.com/2018/01/27/the-problems-i-encountered-when-writing-go-code-issue-2nd/</link><pubDate>Sat, 27 Jan 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/01/27/the-problems-i-encountered-when-writing-go-code-issue-2nd/</guid><description>第1期的“写Go代码时遇到的那些问题”一经发布后得到了很多Gopher的支持和赞赏，这也是我继续写下去的动力！不过这里依然要强调的是这一系列文章反映的是笔者在实践中对代码编写的认知以及代码的演化过程。这里的代码也许只是“中间阶段”，并不是什么最优的结果，我记录的只是对问题、对代码的一个思考历程。不过，十分欢迎交流与批评指正。 一、dep的日常操作 ---------- 虽然dep在国内使用依然有i...</description></item><item><title>写Go代码时遇到的那些问题[第1期]</title><link>https://tonybai.com/2018/01/13/the-problems-i-encountered-when-writing-go-code-issue-1st/</link><pubDate>Sat, 13 Jan 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/01/13/the-problems-i-encountered-when-writing-go-code-issue-1st/</guid><description>程序员步入“大龄”，写代码的节奏也会受到影响。以前是长时间持续地写，现在写代码的节奏变成了“波浪形”：即写一段时间，歇一段时间。当然这里的“歇”并不是真的歇，而是做其他事情了，比如：回顾、整理与总结。 平时写Go代码，时不时就遇到一些问题，或是写出一些让自己还算满意的代码，这里全部列为“问题”行列。这些“问题”(以及其解决方法)往往比较“小”、比较“碎片”，不适合以自己“擅长”的“长篇”风格写出来...</description></item><item><title>使用govanityurls让私有代码仓库中的go包支持go get</title><link>https://tonybai.com/2017/06/30/go-get-go-packages-in-private-code-repo-by-govanityurls/</link><pubDate>Fri, 30 Jun 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/06/30/go-get-go-packages-in-private-code-repo-by-govanityurls/</guid><description>《定制Go Package的Go Get导入路径》一文中我们讲到了通过使用govanityurls服务，我们可以定制go package的go get导入路径。不过，govanityurls的用途还不止这些，它还可以让你的私有代码仓库中的go package支持go get。 众所周知，开源的Go package一般分布在github、bitbucket等站点，但商业组织内部闭源的Go packa...</description></item><item><title>初窥dep</title><link>https://tonybai.com/2017/06/08/first-glimpse-of-dep/</link><pubDate>Thu, 08 Jun 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/06/08/first-glimpse-of-dep/</guid><description>Go语言程序组织和构建的基本单元是Package，但Go语言官方却没有提供一款“像样的”Package Management Tool(包管理工具)。随着Go语言在全球范围内应用的愈加广泛，缺少官方包管理工具这一问题变得日益突出。 2016年GopherCon大会后，在Go官方的组织下，一个旨在改善Go包管理的commitee成立了，共同应对Go在package management上遇到的各种问...</description></item></channel></rss>