如果遵循GoLang文档的工作空间结构,则两个可执行软件包可能会共享相同的软件包名称。
例如,有两个来自github的软件包:
1 2 | $ $GOPATH/src/github.com/alpha/import $ $GOPATH/src/github.com/beta/import |
首先安装用户
1 | $ go install github.com/alpha/import |
二进制可执行文件现在在
然后,安装了来自用户
1 | $ go install github.com/beta/import |
此安装/构建会将用户
更好的命名约定可以避免这种冲突。 但是,在使用第三方库时是否有解决此问题的标准做法?
此冲突仅发生在可执行文件上,而不会发生在软件包上。 可执行文件不那么常见,并且通常具有区分的名称,因此在实践中我从未遇到过此问题。
"修复"或"最佳实践"显而易见,也很简单:只需在安装后重命名二进制文件即可。
-
您可能还会提到指定输出名称:
go build -o myexename 。