go - 为什么 go module 伪版本有特定版本?
问题描述
我有一个 go.mod 看起来像
require(
...
github.com/google/wire v0.3.1-0.20190716160000-66f78fc84606
...
)
根据我的理解,如果一个包看起来像那样(yyyymmddMMSS-commit_id),应该是哪个版本,v0.0.0
但不v0.3.1
作为这个例子。
有人可以指导我如何解释这个吗?go mod 会忽略v0.3.1-
前缀吗?
解决方案
事实上,有 3 种可接受的伪版本形式:
vX.0.0-yyyymmddhhmmss-abcdefxyz。
在目标提交之前没有具有适当主要版本的早期版本提交vX.YZ-pre.0.yyyymmddhhmmss-abcdefxyz
当目标提交之前的最新版本化提交是 vX.YZ-prevX.Y.(Z+1)-0.yyyymmddhhmmss-abcdefxyz
当目标提交之前的最新版本化提交是 vX.YZ
有关管理 Go 模块伪版本的更多详细信息:
https ://hackernoon.com/managing-go-module-pseudo-versions-in-go-113-412h30lw
推荐阅读
- reactjs - 未能完成请求 - 连接被主机中的软件中止
- omnet++ - 如何让车辆停在路上1000秒?
- json - 如何在 WSO2 Enterprise Integrator 中处理 Json Formatters
- mongodb - 如果查询中的参数在 Mongodb 中为 null,则忽略该参数
- python - 如何将每个 HTML 页面的输出写入 Python 中的多个文件?
- pagespeed-insights - 为什么我不能在我的网页上检查我的网页速度?
- reactjs - 一起执行两个 POST 请求
- c - IPC:每秒从客户端收集数据
- c - 尝试删除链表的第一个节点时的奇怪行为
- python - 如何根据 Matplotlib 中接近 1.0 的数字为每条绘制的线选择新颜色