如果遵循工作区结构的GoLang文档,那么两个可执行包可能共享相同的包名。
例如,github有两个包:
$ $GOPATH/src/github.com/alpha/import
$ $GOPATH/src/github.com/beta/import第一次安装来自用户alpha的alpha包:
$ go install github.com/alpha/import二进制可执行文件现在在$GOPATH/bin中可用,名为import。
然后安装来自用户beta的第二个包:
$ go install github.com/beta/import此安装/构建将将来自用户alpha的现有alpha二进制文件替换为来自用户beta的import二进制文件。
更好的命名约定可以避免这种冲突;但是,在使用第三方库时是否有解决这个问题的标准做法?
发布于 2015-12-07 06:50:03
这种冲突只会发生在可执行文件上,而不会发生在包上。可执行文件并不常见,而且经常有可区分的名称,因此在实践中我从未遇到过这个问题。
“修复”或“最佳实践”非常简单:安装后只需重命名二进制文件即可。
https://stackoverflow.com/questions/34127810
复制相似问题