4

我将从这里的免责声明开始。我在 Windows 子系统上的 Ubuntu 18.0.4 上运行 go。

我有一个包,我可以在其中从 Windows 命令行成功运行“dep init”。我在我的 Ubuntu 子系统中创建了 repo 的新克隆(成功克隆,因此没有网络连接问题)并运行“dep init”。

这是我遇到问题的时候。Dep 只是在拉下一个包后挂起。对 dep init 的后续调用不会提取更多包。运行“dep init -v”会产生以下结果:

#> dep init -v
Getting direct dependencies...
Checked 14 directories for packages.
Found 3 direct dependencies.

查看附加的屏幕截图,可以看到进程线程已启动但没有执行任何操作(0% 的 CPU 和 RAM 使用率)。

使用 HTOP 和我的 dep pkg 文件夹结构进行屏幕截图

我尝试过的事情

  1. 将其关闭并再次打开。
  2. 我已经完全清理了我的 dep 包文件夹并重新运行 dep init。这就是我知道实际上只有一个包被拉出的方式。
  3. 确保我的 ssh 密钥在 github 上是最新的。
4

1 回答 1

4

dep是“官方实验”。从 1.11 开始,Go 工具链采用了一种与dep. 因此,我们正在继续开发dep,但主要致力于开发用于工具链中版本控制行为的替代原型。

Go 1.11 包括对模块的初步支持,并包括对供应商的支持。

您应该停止使用dep并参考如何定义模块来迁移您的项目。

首先,导航到您的源代码树,然后按照以下说明进行操作:

创建初始模块定义并将其写入 go.mod 文件:

$ go mod init                  

此步骤从任何现有的depGopkg.lock 文件或从其他九种受支持的依赖格式中的任何一种转换,添加 require 语句以匹配现有配置。

go mod init通常可以使用辅助数据(例如 VCS 元数据)来自动确定适当的模块路径,但是如果 go mod init 状态它不能自动确定模块路径,或者如果您需要以其他方式覆盖该路径,您可以将模块路径作为可选参数提供给 go mod init,例如:

$ go mod init github.com/my/repo
于 2019-07-08T07:53:54.633 回答