【问题标题】:dep init -v hangs upon executiondep init -v 在执行时挂起
【发布时间】:2018-07-27 21:46:36
【问题描述】:

我将在这里先声明一个免责声明。我在 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 使用率)。

Screen Capture with HTOP and my dep pkg folder structure

我尝试过的事情

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

【问题讨论】:

  • 在您的新克隆中使用go get -v -t ./... 安装上游依赖项工作吗?
  • 这就是它被挂断的原因!!必须弄清楚我遇到的许可问题是什么。事实证明,“去获取”在获取我们的其他专有存储库之一时遇到了权限问题。我能够手动克隆它,然后“去获取”工作。在那个 dep init 工作之后。感谢您为我指明正确的方向!

标签: go windows-subsystem-for-linux ubuntu-18.04 dep


【解决方案1】:

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

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

您应该停止使用dep 并参考How to Define a Module 来迁移您的项目。

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

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

$ go mod init                  

此步骤从任何现有的 dep Gopkg.lock 文件或任何其他 nine total supported dependency formats 转换,添加 require 语句以匹配现有配置。

go mod init 经常可以使用辅助数据(如 VCS 元数据)来自动确定合适的模块路径,但是如果 go mod init 状态它不能自动确定模块路径,或者如果你需要否则覆盖该路径,您可以提供 module path 作为 go mod init 的可选参数,例如:

$ go mod init github.com/my/repo

【讨论】:

    猜你喜欢
    • 2015-01-17
    • 2011-10-10
    • 1970-01-01
    • 2017-02-10
    • 2014-02-12
    • 2016-08-11
    • 2012-08-22
    • 1970-01-01
    • 2018-03-24
    相关资源
    最近更新 更多