Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go Lang工作区重复包名可执行文件冲突_Go_Namespaces_Package - Fatal编程技术网

Go Lang工作区重复包名可执行文件冲突

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中

如果遵循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
中,名为
import

然后安装user
beta
的第二个软件包:

$ go install github.com/alpha/import
$ go install github.com/beta/import
此安装/生成将用用户
beta
中的
导入
二进制文件替换现有的
导入
二进制文件


更好的命名约定可以避免这种冲突;但是,在使用第三方库时,是否有解决此问题的标准做法?

此冲突仅发生在可执行文件上,而不会发生在包上。可执行文件不太常见,通常有不同的名称,所以在实践中我从未遇到过这个问题


“修复”或“最佳实践”是显而易见的,非常简单:只需在安装后重命名二进制文件即可

您还可以提到指定输出名称:
go build-o myexename