【问题标题】:How can I pull older branches of a package from github using go get command如何使用 go get 命令从 github 拉取包的旧分支
【发布时间】:2019-09-10 18:39:20
【问题描述】:

从此链接:

https://github.com/googollee/go-socket.io/tree/v1.4

我想获得这个模块。 我该怎么做?我不想获得master 模块,但我想获得v1.4 分支。当我使用以下命令时,它会下载master 模块:

去 github.com/googollee/go-socket.io

如何将go get 用于旧版本或其他分支?

【问题讨论】:

  • 如果您使用 Go 模块(在 v1.11 中添加),您可以使用 go get github.com/googollee/go-socket.io@v1.4.0(或任何您想要的 1.4.x 版本)。
  • @Adrian ,亲爱的去 github.com/googollee/go-socket.io@v1.4.0 不工作
  • @Adrian go: 不能在 GOPATH 模式下使用 path@version 语法
  • 正确 - 这就是为什么我开始说“如果你正在使用 Go 模块”。如果您使用的是最新版本的 Go,您可能会考虑更新您的项目以使用模块,这样可以更轻松地管理您想要特定版本的依赖项。
  • @Adrian 我如何使用 Go 模块?

标签: go github glide-golang


【解决方案1】:

更新

您需要使用模块。基于模块的行为是 Go 1.11 提供的可选功能,但默认情况下在 %GOPATH% 目录中禁用。 (如果您不知道您的%GOPATH%,请运行go env。)例如,如果您的%GOPATH% 设置为C:\Users\Melina\go(我想在答案的其余部分中是这样),您不能使用基于模块的go get 在该目录或其子目录(如C:\Users\Melina\go\src)中关于默认设置的行为。要更改它,请执行以下步骤:

  1. GO111MODULE环境变量设置为on

    添加一个名为GO111MODULE 的环境变量并将其设置为on。 (您可以通过在 Windows shell 命令提示符或 Windows Powershell 中运行命令 setx GO111MODULE "on" 来执行此操作。您必须重新启动 shell 以使其生效。或者如果您使用的是 Visual Studio Code,请重新启动您的IDE。)

  2. C:\Users\Melina\go\src 中,创建一个名为 e.g. socket.io.1.4。它将包含socket.io 模块的源代码。运行以下命令:

  3. cd C:\Users\Melina\go\socket.io.1.4

  4. go mod init github.com/googollee/go-socket.io@v1.4 创建一个拉取v1.4go-socket.io 的模块。

  5. go get github.com/googollee/go-socket.io@v1.4 获取指定版本的模块。获取模块将像这样开始:

还有另一种方法,无需接触GO111MODULE。由于在%GOPATH%之外,默认启用基于模块的行为,您可以在%GOPATH%之外执行步骤2,即从C:\Users\Melina\go及其子目录中创建目录socket.io.1.4。其他步骤相同。

【讨论】:

  • 你能告诉我如何安装 v.1.0 吗?你能打字吗?用例子学我
  • @melina 忽略这个答案,这与你的问题完全无关。
  • 亲爱的,如何使用旧版本的链接? github.com/googollee/go-socket.io
猜你喜欢
  • 1970-01-01
  • 2021-08-08
  • 1970-01-01
  • 2017-10-10
  • 2010-12-15
  • 2017-08-03
  • 1970-01-01
  • 2020-10-01
  • 2017-07-10
相关资源
最近更新 更多