gpt4 book ai didi

go - 如何处理区分大小写的导入冲突

转载 作者:IT王子 更新时间:2023-10-29 01:26:32 34 4
gpt4 key购买 nike

我在 GoLang 中使用第三方库,该库以前在不同情况下具有导入路径。最初字母是小写,然后作者将其更改为大写。

一些插件作者更新了他们的库,而另一些则没有。同时,原始库作者恢复了大小写更改。

现在,我发现自己处于由于案例导入冲突而无法构建我的应用程序的状态。

如何解决这个问题?

非常感谢

最佳答案

您可以vendor 依赖项,然后进入vendor/ 目录并手动更改(尝试greping 或 seding 依赖项),依赖项。

有关 vendor 的介绍,请在此处尝试,https://blog.gopheracademy.com/advent-2015/vendor-folder/

原始存储库仍然可以存在于您的 GOPATH 中,但“更正”版本可以位于 vendor 文件夹中,编译器在链接依赖项时将首先查找.

vendoring 有很多工具,我用govendor

编辑

正如 mkopriva 在评论中提到的,您可以使用 gofmt重构导入名称工具:

gofmt -w -r '"path/to/PackageName" -> "path/to/packagename"' ./

gofmt -w -r 'PackageName.x -> packagename.x' ./

小写的单个字符标识符是一个通配符

来自文档

The rewrite rule specified with the -r flag must be a string of the form:

pattern -> replacement

Both pattern and replacement must be valid Go expressions. In the pattern, single-character lowercase identifiers serve as wildcards matching arbitrary sub-expressions; those expressions will be substituted for the same identifiers in the replacement.

关于go - 如何处理区分大小写的导入冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43618860/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com