问题标签 [godeps]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
495 浏览

heroku - Godep 处理定制包

这是我的问题。我有使用我自己创建的一些自定义包的 go-app。我不想在 git 或其他地方发布这个包。它们只是具有某些特定功能的软件包。

因此,我的项目文件夹如下所示:

我将我的包裹放到vendor文件夹中:

好的,在我的main.go成功导入这个包:

一切正常。

现在我想准备我的项目以使用godep. 所以,在我的项目的根文件夹中,我运行

我的问题来了——因为我的包已经在一个vendor文件夹中,我收到错误:

godep:找不到包(github.com/u-mulder/package_one)

当然,我可以为我的每个包创建一个项目。那么 的结构src将如下所示:

然后上面提到的问题就没有了,但是出现了第二个问题:

godep:检查时出错"$GOPATH/src/github.com/u-mulder/package_one":目录"$GOPATH/src/github.com/u-mulder/package_one"未使用已知的版本控制系统

所以,我当然可以.git在每个项目包中创建一个存储库(也许这个问题会消失),但我不想要,这些只是我自己使用的本地包。

所以,问题是 - 在哪里放置我的自定义(或说 - 本地)包以便godep可以找到它们并且不希望它们成为“真实”包?

我在这里找到了类似的东西,但这与vendor文件夹无关。

0 投票
2 回答
1069 浏览

go - 如何确保 go build 使用来自供应商目录的所有依赖项

我已经使用了 godep 并在 vendor/ 目录中出售了我的所有依赖项。Go build 也运行良好。但是,我如何确定我的所有依赖项都已售出?

是否有任何命令可以确保这一点?

0 投票
1 回答
91 浏览

go - 安装依赖项时如何修复“go get ./...”?

当我输入“go get ./...”时,我回来了:

我该如何解决这个错误?或者我该如何调试?它适用于旧版本的 go...version 1.5.2..如果有帮助的话。如果我可以提供其他信息,请告诉我。我真的不知道从哪里开始,因为它在本地运行良好。提前致谢。

0 投票
3 回答
803 浏览

go - Golang 内部依赖管理

在我工作的公司中,我们有几个用 Go 编写的后端系统,其中一些代码在它们之间共享。后端系统需要单独部署,可能在不同的机器上。所有这些项目仍在积极开发中,并且经常发生变化。

我们正在尝试想出一种管理我们的 git 存储库和它们之间的依赖关系的好方法。

目前我们有一个共享代码存储库,我们称之为后端共享。然后我们为每个后端系统都有一个单独的存储库,我们称它们为 backend1 和 backend2。反过来,每个后端都对后端共享有 Godep 依赖。

据我了解,Golang 中依赖管理的首选方法是通过 vendoring,根据该方法,所有依赖项都被复制到 /vendor 目录中,并且应该检查到版本控制中。这样,所有依赖项都锁定到特定版本。

这对于我们的外部依赖关系很好,但是对于后端共享的内部依赖,它变得非常麻烦,因为开发人员必须同时对特定后端系统和后端共享进行更改并不罕见。

现在,如果对位于开发人员的 GOPATH 中的 backend-shared 进行更改,则该更改在 backend1(也在 GOPATH 中)内不可见,因为 backend1 将首先查看其内部的 backend-shared 的陈旧副本/供应商目录。

因此,我们要么必须重新供应 backend1 以复制新版本的 backend-shared,要么我们必须暂时从 /vendor 目录中删除 backend-shared 以便导入指向 GOPATH 中的版本. 这两个选项都感觉可能很脏,我不确定它们是否是 Go 的本意。

我的问题是,是否有更好的方法来保留我们当前的存储库并同时简化多个项目的开发?

或者我们是否应该将所有存储库合并为一个,因为即使依赖明智的后端 1 和后端 2 是分开的,它们的开发生命周期现在也是相互交织的?

我们没有从包含 backend1、backend2 和 backend-shared 的单个存储库开始的主要原因是 backend1 和 backend2 必须单独部署,因此我们希望它们的代码也物理上分开。

0 投票
1 回答
1007 浏览

heroku - godep save 从来没有用过

尝试运行时godep save,我总是收到以下错误:

有谁知道如何解决这个问题?

0 投票
1 回答
9580 浏览

go - 使用 dep init 时不在任何 GOPATH 中

我正在尝试使用它godep来安装我的依赖项,但我似乎无法让它工作。当我运行 GODEP init 时,我收到以下错误

determineProjectRoot: /home/cjds/development/core/data-service 不在任何 $GOPATH 中

但我的 GOPATH 肯定包含该路径。这是我的全部路径

/home/cjds/development/core/data-service

go install导致以下错误,这可能是问题的根源:

/home/cjds/development/core/data-service 中没有可构建的 Go 源文件

然而,文件夹结构有一个src文件夹,然后是一个main文件夹,然后是我的整个 Go 项目

-/home/cjds/development/core/data-service/src/main/my-go-files.go

0 投票
1 回答
694 浏览

docker - godep 不安装所需的软件包

我正在尝试在 docker 中运行应用程序(用 Go 编写)。要安装依赖项,我使用的是 godep。在 docker 中执行 godep 时,收到以下错误

0 投票
1 回答
4200 浏览

go - Golang Dep 无法读取元数据:go-import metadata not found

我正在过渡到使用 golang Dep https://github.com/golang/dep

我们有使用通用代码库的微服务存储库。

它托管在 git.corp.company.com/Organization/common-base

在供应商基础中,我们的项目结构如下

当我尝试执行 dep init 时,我收到一条错误消息,例如

unable to deduce repository and source type for "git.corp.company.com/Organization/common-base": unable to read metadata: go-import metadata not found

我不确定为什么会发生这种情况以及下一步该怎么做。我需要将元数据文件添加到我们的通用代码中吗?

0 投票
1 回答
335 浏览

git - Dep xxx 已恢复,但无法加载它并出现错误:找不到包 xxx

我里面有一个 golang 应用程序my-app(克隆的 git repo)。myapp 文件夹与我的 Dockerfile 位于同一位置。我将我的项目复制到其中。这是我的码头文件:

现在 godep restore -v 失败了。很多回购都恢复得很好,有些被跳过了:

直到需要恢复存储库中的依赖项之前,它都可以正常工作my-app

路径存在(在每个分支上)。当我cd进入我的应用程序时,我可以看到该subpath文件夹​​,也可以在 github 上访问它:

我错过了什么或出了什么问题?

0 投票
0 回答
157 浏览

go - How to add referencdes between subprojects

This is the structure of my project:

As you can see, myproject consists of two subprojects (i.e. utils and myservice).

main.go references the util package like this:

The utils package is not in github.com yet... but dep looks for this package at github.com. Is it possible to compile all the subprojects (and manage dependencies with dep) while the project is still local on my PC?