<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Go Modules on PlumePHP</title><link>https://plumephp.com/tags/go-modules/</link><description>Recent content in Go Modules on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Fri, 14 Aug 2026 18:10:53 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/go-modules/index.xml" rel="self" type="application/rss+xml"/><item><title>Go 依赖管理入门：go mod、版本号、replace 和 tidy 怎么用</title><link>https://plumephp.com/go-mod-dependency-management/</link><pubDate>Wed, 13 Aug 2025 10:00:00 +0800</pubDate><guid>https://plumephp.com/go-mod-dependency-management/</guid><description>&lt;h2 id="依赖管理是项目长期维护的一部分"&gt;依赖管理是项目长期维护的一部分&lt;/h2&gt;
&lt;p&gt;Go Modules 从 Go 1.11 开始引入，1.16 正式成为默认方案，彻底解决了 Go 早期依赖管理中强耦合 GOPATH 的问题。现在的 Go 项目只需要一个 &lt;code&gt;go.mod&lt;/code&gt; 文件，就能精确记录模块名称、Go 语言版本要求和外部依赖版本信息。团队成员 clone 代码后只需执行 &lt;code&gt;go mod download&lt;/code&gt; 或让构建命令自动下载，就能得到完全一致的依赖环境。&lt;/p&gt;</description></item><item><title>Go 工作区 2024 最新实践：go.work 完整语法与 monorepo 实战</title><link>https://plumephp.com/go-workspaces-go-work-2024/</link><pubDate>Wed, 13 Aug 2025 10:00:00 +0800</pubDate><guid>https://plumephp.com/go-workspaces-go-work-2024/</guid><description>&lt;h2 id="多模块本地联调不一定要改-gomod"&gt;多模块本地联调不一定要改 go.mod&lt;/h2&gt;
&lt;p&gt;很多团队会把通用库和业务服务放在不同仓库或不同模块里。比如你正在开发 &lt;code&gt;user-api&lt;/code&gt;，它依赖本地的 &lt;code&gt;kit&lt;/code&gt; 模块。以前常见做法是在 &lt;code&gt;user-api/go.mod&lt;/code&gt; 里写 &lt;code&gt;replace&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;example&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;kit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;..&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;kit&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这能工作，但如果你不小心把个人本地路径提交了，其他同事可能无法构建。&lt;code&gt;go work&lt;/code&gt; 提供了另一种方式：在本地创建工作区，把多个模块临时组合起来开发，而不必修改每个模块的 &lt;code&gt;go.mod&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>Go 工作区深度使用指南：go work 解决本地多模块联调与工程化实践</title><link>https://plumephp.com/go-workspaces-practical-start-2022/</link><pubDate>Wed, 13 Aug 2025 10:00:00 +0800</pubDate><guid>https://plumephp.com/go-workspaces-practical-start-2022/</guid><description>&lt;h2 id="多个模块一起改时gomod-不一定要被污染"&gt;多个模块一起改时，go.mod 不一定要被污染&lt;/h2&gt;
&lt;p&gt;Go Modules 解决了单个项目依赖管理问题，但当你同时开发多个本地模块时，仍然会遇到麻烦。比如 &lt;code&gt;user-api&lt;/code&gt; 依赖 &lt;code&gt;company-kit&lt;/code&gt;，你现在要同时修改两边。过去常见做法是在 &lt;code&gt;user-api/go.mod&lt;/code&gt; 里写：&lt;/p&gt;</description></item><item><title>Go 语言环境搭建与开发工具配置</title><link>https://plumephp.com/01-environment-setup/</link><pubDate>Wed, 13 Aug 2025 10:00:00 +0800</pubDate><guid>https://plumephp.com/01-environment-setup/</guid><description>&lt;h2 id="go-语言开发环境搭建从零开始的冒险"&gt;Go 语言开发环境搭建：从零开始的冒险&lt;/h2&gt;
&lt;p&gt;嗨，朋友！欢迎来到 Go 语言的世界。&lt;/p&gt;
&lt;p&gt;如果你正在读这篇文章，说明你大概已经听说了 Go 语言的一些好处——也许是它超快的编译速度，也许是它简洁优雅的语法，又或者是它强大的并发能力。不管是什么原因把你带到这里，我都很高兴能陪你一起踏上这段旅程。&lt;/p&gt;</description></item><item><title>Go Modules：现代化的依赖管理</title><link>https://plumephp.com/go-modules/</link><pubDate>Wed, 24 Feb 2021 11:40:00 +0800</pubDate><guid>https://plumephp.com/go-modules/</guid><description>&lt;h2 id="go-modules现代化的依赖管理"&gt;Go Modules：现代化的依赖管理&lt;/h2&gt;
&lt;p&gt;在 Go 1.11 之前，Go 的依赖管理一直是个痛点。所有的代码都要放在 &lt;code&gt;GOPATH&lt;/code&gt; 下，版本号管理很麻烦，同一个包的不同版本不能共存。社区出现了很多第三方工具——glide、dep、govendor——但每个都有自己的问题，导致生态分裂、学习成本高昂。&lt;/p&gt;</description></item></channel></rss>