我有一个go.mod
文件,看起来像这样:
module someName
go 1.13
require (
.
.
golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4
localpackage v0.0.0
)
replace localpackage => ../localpackage
这按预期工作!我不知道如何添加特定版本或将哈希提交到replace
指令!
例如:
replace localpackage => ../localpackage v1.0.0
或
replace localpackage => ../localpackage v0.0.0-20190731182444-35453ccff3d6
这样做会导致错误:
替换模块目录路径“ ../localpackage”不能具有版本
错误非常明显,我不应该将版本添加到本地替换中。我检查了wiki,但找不到答案!
是否可以添加这种replace
注释,如何添加?我在这里想念什么?
答案 0 :(得分:1)
如错误所示:当replace指令指向本地文件夹时,您无法指定版本。不能保证,也不要求替换文件夹包含版本控制系统的文件,仅具有Go源代码的“贪吃蛇”是完全有效的。因此,在许多情况下,指定版本是没有意义的。
但是,例如,如果您的本地文件夹是git存储库的克隆,则可以简单地将其切换为所需的版本。例如。在该本地文件夹中执行git checkout v1.0.0
以切换到该版本,然后将使用该版本。