我有一个go.mod如下所示的文件:
module someName
go 1.13
require (
.
.
golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4
localpackage v0.0.0
)
replace localpackage => ../localpackage
Run Code Online (Sandbox Code Playgroud)
这正如预期的那样工作!我不明白的是如何添加某个版本或向replace指令提交哈希!
例如:
replace localpackage => ../localpackage v1.0.0
Run Code Online (Sandbox Code Playgroud)
或者
replace localpackage => ../localpackage v0.0.0-20190731182444-35453ccff3d6
Run Code Online (Sandbox Code Playgroud)
这样做会导致错误:
替换模块目录路径“../localpackage”不能有版本
该错误非常明显,我不应该将版本添加到本地替换中。我检查了维基但找不到答案!
是否可以添加这种replacement以及如何添加?我在这里缺少什么?
正如错误所示:当替换指令指向本地文件夹时,您无法指定版本。无法保证且不要求替换文件夹包含版本控制系统的文件,仅拥有 Go 源代码的“快照”是完全有效的。所以在很多情况下指定版本是没有意义的。
但是,如果您的本地文件夹是 git 存储库的克隆,您只需将其切换到您想要的版本即可。例如,在该本地文件夹中执行 agit checkout v1.0.0切换到该版本,并且将使用该版本。
| 归档时间: |
|
| 查看次数: |
7322 次 |
| 最近记录: |