使用 gitee 托管你的 go 模块
前言
实话实说, github 作为这个球上顶级的代码托管平台, 公司/企业/开发者的认可和参与度是非常高的.
但是因为某些原因 特色墙, 国内使用 github 的体验不是非常好
- 速度慢
- 不靠谱同学的贸易政策
- 英文不是非常友好 比如我就是英文渣渣
- ...
而 go 的模块系统高度使用了 github, 以及很多非常有用的包也托管在 github,
随之而来的问题是, 国内, 使用 github 有的问题, 使用 go 模块系统全部一起中招了.
为此, 我们来试试如何把自己的 go 模块托管在 gitee 来更方便的使用.
相比之下使用 gitee 的优势:
- 速度快的多 网速就是生命
- 不怕不靠谱同学
- 母语贴心
- 可能模块少点 这是劣势, 需要你我他的努力
- ...
创建你的 go 模块
按照我的习惯, 我在我的电脑目录 E:\goprojects\src\gitee.com\taadis
目录下新建了一个 uuid
模块项目
└─uuid
.gitignore
doc.go
go.mod # 模块配置文件, 主要的就是这个
go.sum # 模块依赖计算, 通常请 git 忽略掉
README.md
uuid.go
uuid_test.go
我们来看看 go.mod
文件
module gitee.com/taadis/uuid
模块声明以 "路径/用户/模块" 这样的形式声明
就这么简单, 模块声明完成后, 本地测试通过, 然后 git push
到 gitee
发布你的 go 模块
一个模块随着时间和业务累积会有越来越多的版本, 那么怎么发布 go 的模块以及迭代版本呢
首先在 gitee 创建一个新仓库
同步本地仓库到远程仓库
需要发布版本的时候, 通过标签来实现
直接 git tag v0.0.1
, 然后 git push origin v0.0.1
更多的版本号累积即可
直接 git tag v0.0.2
, 然后 git push origin v0.0.2
使用你的 go 模块
来个简单的例子, 新建一个叫做 uuidtest
的项目, go get gitee.com/taadis/uuid v0.0.1
下载指定版本, 不指定版本号时会下载默认下载最新版本, 并记录到 go.mod
文件中
module uuidtest
require gitee.com/taadis/uuid v0.0.1
然后就可以欢乐的使用了
// main.go
package main
import (
"fmt"
"gitee.com/taadis/uuid"
)
func main() {
id := uuid.New()
fmt.Println(id)
}
GoDoc
GoDoc 是 go 提供的一个在线文档服务, 不需要你做任何多余的事情
直接在浏览器访问 https://godoc.org/模块名称
比如 https://godoc.org/gitee.com/taadis/uuid
即可看到你的 go 模块相关的源码中的文档
使用 gitee 托管你的 go 模块的更多相关文章
- Java 9 揭秘(10. 模块API)
Tips 做一个终身学习的人. 在本章节中,主要介绍以下内容: 什么是模块 API 如何在程序中表示模块和模块描述 如何读取程序中的模块描述 如何表示模块的版本 如何使用Module和ModuleDe ...
- 在IIS上部署(托管).NET Core站点
部署教程 操作系统要求 Windows 7 或更高版本 Windows Server 2008 R2 或更高版本 依赖的组件 Runtime & Hosting Bundle image. ...
- Use Hexo to Build My Gitee Blog
之前有自己建站托管自己的博客系统, 后来因为流量实在太少, 服务器又要每个月出钱, 然后就把她关了, 然是拥有自己的网站的心一直没有退去啊, 然后之前有接触到别人用GitHub托管静态网页的玩法, ...
- Spark Deploy 模块
Spark Scheduler 模块的文章中,介绍到 Spark 将底层的资源管理和上层的任务调度分离开来,一般而言,底层的资源管理会使用第三方的平台,如 YARN 和 Mesos.为了方便用户测试和 ...
- ThinkAdmin for PHP后台管理系统
ThinkAdmin for PHP后台管理系统 ThinkAdmin 是一个基于 Thinkphp 5.1.x 开发的后台管理系统,集成后台系统常用功能.基于 ThinkPHP 5.1 基础开发平台 ...
- 开源框架TLog核心原理架构解析
前言 最近在做TLog 1.2.5版本的迭代,许多小伙伴之前也表示说很想参与开源项目的贡献.为了让项目更好更快速的迭代新特性以及本着发扬开源精神互相学习交流,很有幸招募到了很多小伙伴与我一起前行. 为 ...
- Casdoor + OAuth 实现单点登录 SSO
简介 Casdoor 是一个基于 OAuth 2.0 / OIDC 的中心化的单点登录(SSO)身份验证平台,简单来说,就是 Casdoor 可以帮你解决用户管理的难题,你无需开发用户登录.注册等与用 ...
- 万字+28张图带你探秘小而美的规则引擎框架LiteFlow
大家好,今天给大家介绍一款轻量.快速.稳定可编排的组件式规则引擎框架LiteFlow. 一.LiteFlow的介绍 LiteFlow官方网站和代码仓库地址 官方网站:https://yomahub.c ...
- Java项目有可能做到所有的代码逻辑均可热部署吗?
前言 首先我们明确下什么叫做热部署,热部署是在不重启java虚拟机的前提下,自动更新class的行为,从而更新整个运行时的逻辑. 在java开发领域,热部署一直是一个难以解决的问题,java虚拟机理论 ...
- 转载MSDN 在ASP.NET 中执行 URL 重写
转载文章原网址 http://msdn.microsoft.com/zh-cn/library/ms972974.aspx 摘要:介绍如何使用 Microsoft ASP.NET 执行动态 URL 重 ...
随机推荐
- Xrm.Internal.openDialog打开对话框自定义页面
在Dynamics CRM平台中使用自定义页面拓展功能实现有多种方式,比如嵌套iframe,比如直接打开一个新页面,再就是打开对话框了,对话框里为自定义页面. 调用方式很简单,先把自定义页面上传好后, ...
- WPF刮刮乐
WPF刮刮乐 <Window x:Class="WpfApp2.MainWindow" xmlns="http://schemas.microsoft.com/wi ...
- cpa-会计
会计整体介绍 1.总结 2.会计政策.会计估计及其变更和差错更正 3.存货 4.固定资产 5.无形资产 6.投资性房地产 7.长期股权投资与合营安排 8.资产减值 9.负债 10.职工薪酬 11.借款 ...
- JVM监控工具使用
1. 描述 程序在开发过程中,有可能会发生CPU飙高.内存溢出等问题或系统在后期调优阶段,不可避免的要监控JVM情况,JDK自带的Jconsole监控工具,结合Tomcat使用非常方便,占用内存小 ...
- biancheng-Thymeleaf教程
Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎.它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web ...
- FreeSql学习笔记——3.查询
前言 FreeSql中查询的支持非常丰富,包括链式语法,多表查询,表达式函数:写法多种多样,可以使用简单的条件查询.sql查询.联表.子表等方式用于查询数据, 查询的格式也有很丰富,包括单条记录, ...
- 类的public, private, protected有什么区别?
如何区别C# private和protected? 一.通过使用来区分 1.private:编程语句在模块级别中使用,用于声明私有变量及分配存储空间. 2.protected:编程语句在模块级别中使用 ...
- tortoiseGit no git.exe found
运行tortoiseGit之后显示找不到git.exe 原因:没有安装git,tortoiseGit是在安装了git的基础上运行的 到这里下载git并安装:https://gitforwindows. ...
- 【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
问题描述 在使用Azure上的存储服务 Storage Account 的时候,有时需要代替 它原本提供的域名进行访问,比如默认的域名为:mystorageaccount.blob.core.chin ...
- 在OCI上快速静默安装23ai数据库
拿到同事帮忙申请好的OCI环境[OEL 8.10]后,开始安装23ai数据库用于后续测试,本文选择快速静默安装模式. OCI环境都是opc用户登录的,执行高权限的操作均需要用到sudo命令. 首先创建 ...