<?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 </title>
    <link>https://note.lican.site/tags/go-modules/</link>
    <description>Recent content in Go-Modules on </description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>© lican.asia All rights reserved</copyright>
    <lastBuildDate>Fri, 28 Feb 2020 12:00:00 +0000</lastBuildDate>
    <atom:link href="https://note.lican.site/tags/go-modules/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Go Modules 终极入门</title>
      <link>https://note.lican.site/posts/posts/go/go-moduels/2020-02-28-go-modules/</link>
      <pubDate>Fri, 28 Feb 2020 12:00:00 +0000</pubDate>
      <guid>https://note.lican.site/posts/posts/go/go-moduels/2020-02-28-go-modules/</guid>
      <description>&lt;p&gt;Go modules 是 Go 语言中正式官宣的项目依赖解决方案，Go modules（前身为vgo）于 Go1.11 正式发布，在 Go1.14 已经准备好，并且可以用在生产上（ready for production）了，Go官方也鼓励所有用户从其他依赖项管理工具迁移到 Go modules。&lt;/p&gt;&#xA;&lt;p&gt;而 Go1.14，在近期也终于正式发布，Go 官方亲自 “喊” 你来用：&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://image.eddycjy.com/243fb2cca64972b2f36827f59b26d840.jpeg&#34; alt=&#34;image&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;因此在今天这篇文章中，我将给大家带来 Go modules 的 “终极入门”，欢迎大家一起共同探讨。&lt;/p&gt;&#xA;&lt;p&gt;Go modules 是 Go 语言中正式官宣的项目依赖管理工具，Go modules（前身为vgo）于 Go1.11 正式发布，在 Go1.14 已经准备好，并且可以用在生产上（ready for production）了，鼓励所有用户从其他依赖项管理工具迁移到 Go modules。&lt;/p&gt;&#xA;&lt;h2 id=&#34;什么是go-modules&#34;&gt;什么是Go Modules&lt;/h2&gt;&#xA;&lt;p&gt;Go modules 是 Go 语言的依赖解决方案，发布于 Go1.11，成长于 Go1.12，丰富于 Go1.13，正式于 Go1.14 推荐在生产上使用。&lt;/p&gt;&#xA;&lt;p&gt;Go moudles 目前集成在 Go 的工具链中，只要安装了 Go，自然而然也就可以使用 Go moudles 了，而 Go modules 的出现也解决了在 Go1.11 前的几个常见争议问题：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Go 语言长久以来的依赖管理问题。&lt;/li&gt;&#xA;&lt;li&gt;“淘汰”现有的 GOPATH 的使用模式。&lt;/li&gt;&#xA;&lt;li&gt;统一社区中的其它的依赖管理工具（提供迁移功能）。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;gopath的那些点点滴滴&#34;&gt;GOPATH的那些点点滴滴&lt;/h2&gt;&#xA;&lt;p&gt;我们有提到 Go modules 的解决的问题之一就是“淘汰”掉 GOPATH，但是 GOPATH 又是什么呢，为什么在 Go1.11 前就使用 GOPATH，而 Go1.11 后就开始逐步建议使用 Go modules，不再推荐 GOPATH 的模式了呢？&lt;/p&gt;</description>
    </item>
    <item>
      <title>干货满满的 Go Modules 和 goproxy.cn</title>
      <link>https://note.lican.site/posts/posts/go/go-moduels/2019-09-29-goproxy-cn/</link>
      <pubDate>Sun, 29 Sep 2019 12:00:00 +0000</pubDate>
      <guid>https://note.lican.site/posts/posts/go/go-moduels/2019-09-29-goproxy-cn/</guid>
      <description>&lt;p&gt;大家好，我是一只普通的煎鱼，周四晚上很有幸邀请到 goproxy.cn 的作者 @盛傲飞（@aofei） 到 Go 夜读给我们进行第 61 期 《Go Modules、Go Module Proxy 和 goproxy.cn》的技术分享。&lt;/p&gt;&#xA;&lt;p&gt;本次 @盛傲飞 的夜读分享，是对 Go Modules 的一次很好的解读，比较贴近工程实践，我必然希望把这块的知识更多的分享给大家，因此有了今天本篇文章，同时大家也可以多关注 Go 夜读，每周会通过 zoom 在线直播的方式分享 Go 相关的技术话题，希望对大家有所帮助。&lt;/p&gt;&#xA;&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;&#xA;&lt;p&gt;Go 1.11 推出的模块（Modules）为 Go 语言开发者打开了一扇新的大门，理想化的依赖管理解决方案使得 Go 语言朝着计算机编程史上的第一个依赖乌托邦（Deptopia）迈进。随着模块一起推出的还有模块代理协议（Module proxy protocol），通过这个协议我们可以实现 Go 模块代理（Go module proxy），也就是依赖镜像。&lt;/p&gt;&#xA;&lt;p&gt;Go 1.13 的发布为模块带来了大量的改进，所以模块的扶正就是这次 Go 1.13 发布中开发者能直接感觉到的最大变化。而问题在于，Go 1.13 中的 GOPROXY 环境变量拥有了一个在中国大陆无法访问到的默认值 &lt;code&gt;proxy.golang.org&lt;/code&gt;，经过大家在 golang/go#31755 中激烈的讨论（有些人甚至将话提上升到了“自由世界”的层次），最终 Go 核心团队仍然无法为中国开发者提供一个可在中国大陆访问的官方模块代理。&lt;/p&gt;&#xA;&lt;p&gt;为了今后中国的 Go 语言开发者能更好地进行开发，七牛云推出了非营利性项目 &lt;code&gt;goproxy.cn&lt;/code&gt;，其目标是为中国和世界上其他地方的 Gopher 们提供一个免费的、可靠的、持续在线的且经过 CDN 加速的模块代理。可以预见未来是属于模块化的，所以 Go 语言开发者能越早切入模块就能越早进入未来。&lt;/p&gt;&#xA;&lt;p&gt;如果说 Go 1.11 和 Go 1.12 时由于模块的不完善你不愿意切入，那么 Go 1.13 你则可以大胆地开始放心使用。本次分享将讨论如何使用模块和模块代理，以及在它们的使用中会常遇见的坑，还会讲解如何快速搭建自己的私有模块代理，并简单地介绍一下七牛云推出的 &lt;code&gt;goproxy.cn&lt;/code&gt; 以及它的出现对于中国 Go 语言开发者来说重要在何处。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
