这是我的问题。我有使用我自己创建的一些自定义包的 go-app。我不想在 git 或其他地方发布这个包。它们只是具有某些特定功能的软件包。
因此,我的项目文件夹如下所示:
|--src/github/u-mulder
|--/project_name
|--/Godeps
|--/public
|--/vendor
|--main.go
|--Procfile
我将我的包裹放到vendor
文件夹中:
-/Godeps
-/public
-/vendor
|---/github.com/u-mulder/package_one/package_one.go
|---/github.com/u-mulder/package_two/package_two.go
-main.go
-Procfile
好的,在我的main.go
成功导入这个包:
import (
"database/sql"
"fmt"
"github.com/u-mulder/package_one"
"github.com/u-mulder/package_two"
// more packages here
)
一切正常。
现在我想准备我的项目以使用godep
. 所以,在我的项目的根文件夹中,我运行
> godep save ./...
我的问题来了——因为我的包已经在一个vendor
文件夹中,我收到错误:
godep:找不到包(github.com/u-mulder/package_one)
当然,我可以为我的每个包创建一个项目。那么 的结构src
将如下所示:
|--src/github/u-mulder
|--/package_one
|-package_one.go
|--/package_two
|-package_two.go
|--/project_name
|--/Godeps
|--/public
|--/vendor
|--main.go
|--Procfile
然后上面提到的问题就没有了,但是出现了第二个问题:
godep:检查时出错
"$GOPATH/src/github.com/u-mulder/package_one"
:目录"$GOPATH/src/github.com/u-mulder/package_one"
未使用已知的版本控制系统
所以,我当然可以.git
在每个项目包中创建一个存储库(也许这个问题会消失),但我不想要,这些只是我自己使用的本地包。
所以,问题是 - 在哪里放置我的自定义(或说 - 本地)包以便godep
可以找到它们并且不希望它们成为“真实”包?
我在这里找到了类似的东西,但这与vendor
文件夹无关。