我正在GoLang中使用第三方库,该库以前具有不同情况下的导入路径。最初,字母是小写,然后作者将其更改为大写。
一些插件作者更新了他们的库,而另一些则没有。在此期间,原始图书馆的作者撤消了案情变更。
现在,我发现自己由于案例导入冲突而无法构建我的应用程序的状态。
如何解决这个问题?
非常感谢
您可以供应依赖项,然后进入vendor/目录并手动更改(尝试grep或sed依赖)依赖项。
有关供应商的介绍,请尝试在这里https://blog.gopheracademy.com/advent-2015/vendor-folder/
原始存储库仍可以存在于您的中GOPATH,但是“更正”的版本可以放在vendor文件夹中,在链接依赖关系时,编译器将首先在其中查找。
供应商有很多工具,我使用govendor
编辑
正如mkopriva在评论中提到的那样,您可以使用以下工具重构导入名称gofmt:
gofmt -w -r '"path/to/PackageName" -> "path/to/packagename"' ./
gofmt -w -r 'PackageName.x -> packagename.x' ./
小写的单字符标识符是通配符。
从文档
用-r标志指定的重写规则必须是以下形式的字符串:
pattern -> replacement模式和替换都必须是有效的Go表达式。在模式中,单字符小写标识符用作匹配任意子表达式的通配符;这些表达式将替换替换中的相同标识符。
| 归档时间: |
|
| 查看次数: |
3348 次 |
| 最近记录: |