当我尝试运行时出现错误 go build
,错误是这样的:
go: golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5 used for
two different module paths (github.com/golang/lint and golang.org/x/lint)
Run Code Online (Sandbox Code Playgroud)
我的go.mod文件就像
module gitlab.com/proj-ride/proj-src/services/event
go 1.14
require (
github.com/golang/protobuf v1.4.3
github.com/google/go-cmp v0.5.4 // indirect
golang.org/dl v0.0.0-20210220033039-562909534da3 // indirect
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 // indirect
golang.org/x/tools v0.1.0 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
google.golang.org/protobuf v1.25.0
)
replace github.com/golang/lint => golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5
Run Code Online (Sandbox Code Playgroud)
编辑
In case if I don't use `replace github.com/golang/lint`
Run Code Online (Sandbox Code Playgroud)
我的 go.sum 文件包含这样的内容
github.com/golang/lint v0.0.0-20180702182130-06c8688daad7 h1:2hRPrmiwPrp3fQX967rNJIhQPtiGXdlQWAxKbKw3VHA=
github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=
github.com/golang/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
Run Code Online (Sandbox Code Playgroud)
我怎样才能用它代替?
golang.org/x/lint
因为有提到的版本
go mod tidy
可能有助于清除不需要的依赖项。
在这种情况下,该消息报告单独的模块需要一个依赖项:
go: golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5 used for
two different module paths (github.com/golang/lint and golang.org/x/lint)
Run Code Online (Sandbox Code Playgroud)
在可行的情况下,升级到最新版本总是更好。使用替换时,路径仍如文档中所述。
如果最新的依赖项保留了兼容性,则排除旧的依赖项可能会起作用。指令拼写如下:exclude github.com/golang/lint