在单个项目中使用不同版本的go软件包

时间:2019-01-10 14:39:32

标签: go

我正在尝试在一个项目中使用单个工具的多个版本。例如,这是一个软件包:https://godoc.org/github.com/docker/docker/pkg,现在此软件包具有一些目录,这些目录在较旧版本中可用,但在当前版本中不可用,反之亦然。我想同时使用两者,执行go get总是获取最新版本。如果切换到旧版本,则会错过最新目录。知道如何保留两个版本吗?

TIA。

1 个答案:

答案 0 :(得分:3)

在gopkg.in的帮助下,新旧版本的主要版本可能不同,则可以使用不同的导入路径进行导入:

然后分别在Go中使用它们:

import (
    redisv1 "gopkg.in/go-redis/redis.v1"
    redisv2 "gopkg.in/go-redis/redis.v2"
)

如果主要版本相同,则无法实施,因为go getgo modules和其他程序包管理器不支持它。