我正试图将https://github.com/appscode/voyager从滑翔转换为mod。
我收到了如下错误:
go: github.com/Sirupsen/logrus@v1.4.1: parsing go.mod: unexpected module path "github.com/sirupsen/logrus"
go: error loading module requirements如何找出这个古老的Sirupsen模块的来源?
发布于 2019-08-02 16:45:04
如何找出这个古老的Sirupsen模块的来源?
使用Go 1.13 beta版(go get golang.org/dl/go1.13beta1 && go1.13beta1 download),或者更好地使用最新的Go on tip / master (go get golang.org/dl/gotip && gotip download)。
Go 1.13总体上改进了错误消息。在您的情况下,它应该会有所帮助,包括最有可能显示导致错误的导入链。
例如:
$ gotip build .
go: example.com/temp/mod imports
github.com/docker/libcompose/docker imports
github.com/Sirupsen/logrus: github.com/Sirupsen/logrus@v1.4.2: parsing go.mod:
module declares its path as: github.com/Sirupsen/logrus
but was required as: github.com/sirupsen/logrus在该示例中,您可以看到docker/libcompose/docker正在导入旧的、现在不正确的大写版本的Sirupsen/logrus。
人们看到Sirupsen/logrus与sirupsen/logrus的情况不匹配的最常见原因是当导入github.com/docker/docker或其他停靠者repos时。导入docker repos与模块有些混淆,包括:
docker/docker回购不跟随semver。v1.13.1回购上有一个非常老的docker/docker标记。go命令选择旧版本。docker/docker版本导入旧的而不是不正确的大写Sirupsen/logrus,然后它会触发上述问题中报告的错误。
docker/docker和docker/engine存储库,以及要使用的导入路径,通常都存在混淆。go.mod文件。对于docker/docker回购,导入路径仍然是github.com/docker/docker,但它需要来自github.com/docker/engine,因此推荐的方法通常是由码头导入程序执行import "github.com/docker/docker"并将其go.mod编辑为如下所示:
require (
github.com/docker/docker v1.13.1
)
replace github.com/docker/docker => github.com/docker/engine <tag-or-commit-hash>Docker发出#39302跟踪,试图记录如何在使用模块时导入停靠器repos。
https://stackoverflow.com/questions/56032544
复制相似问题