我在我的分支工作了几天。与此同时,master
分支已经发展,所以我做了git rebase master
。
输出显示某些文件中的冲突:
Auto-merging vendor/modules.txt
CONFLICT (content): Merge conflict in vendor/modules.txt
Auto-merging go.sum
CONFLICT (content): Merge conflict in go.sum
Auto-merging go.mod
CONFLICT (content): Merge conflict in go.mod
error: could not apply 1bd673ea... update vendor folder
Resolve all conflicts manually, mark them as resolved with
update vendor folder
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 1bd673ea... update vendor folder
解决冲突后,我执行go mod tidy
,然后执行go mod vendor
。结果是一个奇怪的信息:
内部错误:找不到www.example.com的嵌入文件github.com/grpc-ecosystem/grpc-gateway/v2/runtime://go:build comment without // +build comment
这是什么意思,我该如何避免?
1条答案
按热度按时间lnlaulya1#
从最后的错误消息
//go:build comment without // +build comment
来看,其中一个工具需要新的//go:build
和旧的// +build
构建约束样式。我猜这是因为你的go.mod
说你想支持比1.18更早的Go版本(当// +build
过时的时候),但是这个grpc-gateway
包是为Go 1.18编写的,只包含一个//go:build
样式约束。查看file in question的源代码,看起来它只有一个
//go:build
注解,但go.mod
说它应该支持Go 1.17。所以看起来那个包裹坏了...事实上,看起来有一个open issue与之相关。所以你可能要等待他们修复它,使用一个旧的版本,或者在你自己的go.mod
中使用一个replace
来使用一个fork。我想这是在几天前v2.10.2发布时被打破的,当时模糊文件添加了
//go:build
行,而没有// +build
行。**更新:**看起来这个问题已经在v2.10.3中得到修复。