Go Lang工作区重复包名可执行文件冲突
如果遵循GoLang工作区结构文档,则两个可执行包可能共享相同的包名 例如,github有两个包:Go Lang工作区重复包名可执行文件冲突,go,namespaces,package,Go,Namespaces,Package,如果遵循GoLang工作区结构文档,则两个可执行包可能共享相同的包名 例如,github有两个包: $ $GOPATH/src/github.com/alpha/import $ $GOPATH/src/github.com/beta/import 首先安装来自用户的import软件包alpha: $ go install github.com/alpha/import $ go install github.com/beta/import 二进制可执行文件现在位于$GOPATH/bin中
$ $GOPATH/src/github.com/alpha/import
$ $GOPATH/src/github.com/beta/import
首先安装来自用户的import
软件包alpha
:
$ go install github.com/alpha/import
$ go install github.com/beta/import
二进制可执行文件现在位于$GOPATH/bin
中,名为import
然后安装userbeta
的第二个软件包:
$ go install github.com/alpha/import
$ go install github.com/beta/import
此安装/生成将用用户beta
中的导入
二进制文件替换现有的导入
二进制文件
更好的命名约定可以避免这种冲突;但是,在使用第三方库时,是否有解决此问题的标准做法?此冲突仅发生在可执行文件上,而不会发生在包上。可执行文件不太常见,通常有不同的名称,所以在实践中我从未遇到过这个问题
“修复”或“最佳实践”是显而易见的,非常简单:只需在安装后重命名二进制文件即可 您还可以提到指定输出名称:
go build-o myexename
。