你正在使用的Go版本是什么( go version
)?
1.12
这个问题在最新的版本中是否重现?
是的
你正在使用的操作系统和处理器架构是什么( go env
)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/go"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build116507160=/tmp/go-build -gno-record-gcc-switches"
你做了什么?
当我尝试导入github.com/spf13/viper@1.3.2
和github.com/gin-gonic/gin@v1.4.0
时,我遇到了一个模块导入不明确的问题。
你期望看到什么?
@thepudds(感谢他的支持)建议我打开一个问题以获得更清晰的诊断信息或一个简单的解决方案。
我提出的解决方案对我有效,它是:go get github.com/ugorji/go/codec@none
https://groups.google.com/forum/#!topic/golang-nuts/0mJh8SkaomA
6条答案
按热度按时间wnavrhmk1#
参考,错误信息是:
$x_{1a0b1} x$
在可以避免模糊导入的版本中,这两个模块不需要相互依赖。
很难在错误信息中包含所有这些内容,但我们可能建议要求这些模块的特定版本,以避免模糊导入。
相关 $x_{1e0f1} x$
7vhp5slm2#
很难在错误信息中捕捉到所有这些,但我们可能会建议要求使用特定版本的这些模块,以避免模糊导入。
我认为如果我们可以推荐一个升级来解决模糊导入的问题,我们应该直接应用它,而不是告诉用户去应用它。
gdrx4gfi3#
我发现这个问题在 ugorji/go#299 的解决方案之前就已经存在了。一旦 ugorji/go#299 得到解决,
go get github.com/ugorji/go/codec@latest
也应该能解决模块图的问题。(示例中的版本仍然不兼容,但这是由于破坏性的 API 更改,而不是由于模糊的导入路径:https://play.golang.org/p/YXT3Pc69yYM。)wh6knrhe4#
对于那个Playground链接中的错误,我相信至少有一组错误是由于fsnotify不支持nacl/amd64p32导致的。这可能解释了那里的所有错误。
gblwokeq5#
https://golang.org/cl/196298提到了这个问题:
cmd/go/internal/modload: use a structured error for 'ambiguous import'
js4nwp546#
Any way to resolve -- ambiguous import: found package time in multiple modules:
??