【问题标题】:Godep with local packagesGodep 与本地包
【发布时间】:2015-09-15 15:06:56
【问题描述】:

我有一个如下所示的存储库:

src
|
|--myplace
   |--myprojectRepo
      |--someCmd
      |      main.go
      |--somePackage
      |      package.go

我正在尝试使用 Godeps 来管理依赖项。但是,当我在 someCmd 文件夹内运行 godep save 时,它不仅将外部代码复制到 godep _workspace,而且还将 somePackage 代码复制到 godep _workspace

有没有办法阻止 Godep 将同一存储库中的代码复制到其 _workspace 中?

我看到的主要丑陋之处在于现在有两个版本的somePackage.go。一个在somePackage 目录中,一个在godeps/_workspace... 目录中。如果我对 somePackage 进行更改,我必须在 someCmd 内重新运行 godep 才能使这些更改生效。

【问题讨论】:

  • 我的导入是使用完整路径myplace/myprojectRepo/somePackage。没有错误,对我来说很奇怪,我的存储库中的一个文件夹包含另一个文件夹的内容。
  • 哦,对不起,我完全误读了你在说什么。你想阻止 godep 这样做!可能没有办法,因为 godep 使用 VCS 来管理文件。如果你克隆myprojectRepo,你会得到它包含的所有文件。
  • 我可以获取其中包含的所有文件,但是对于 godeps,当我查看 myprojectRepo 时,它有两个版本的 somePackage.go。一个在 somePackage 目录中,一个在 godeps/_workspace...directory 中。
  • 你应该从src目录运行godep

标签: git go godeps


【解决方案1】:

当我在 someCmd 文件夹中运行 godep save 时

Godep 将提供所有不是子目录的东西,它不会上到您的存储库的根目录。

您必须从项目的根目录运行godep save ./...:它将为您的项目保存所有外部依赖项。

正如@JimB 所说,无论如何,人们会立即拉取整个存储库,而不是一个接一个的子包。他们也应该从存储库的根目录运行godep restore

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    相关资源
    最近更新 更多