Go包依赖项与Go dep

Go包依赖项与Go dep,go,godeps,Go,Godeps,我在同一github存储库中有以下项目结构: https://github.com/userX/go-project/cmd/server/main.go https://github.com/userX/go-project/pkg/package1 https://github.com/userX/go-project/pkg/package2 https://github.com/userX/go-project/pkg/package2 https://github.com/userX/

我在同一github存储库中有以下项目结构:

https://github.com/userX/go-project/cmd/server/main.go
https://github.com/userX/go-project/pkg/package1
https://github.com/userX/go-project/pkg/package2
https://github.com/userX/go-project/pkg/package2
https://github.com/userX/go-project/Gopkg.toml
出于某种原因,我的项目作为依赖项存在于文件夹供应商中。而ofc我不希望这样,因为如果我更改了
package1
,我需要首先推送它,以便在
package2
中有最新的更改。因为它正在使用供应商文件夹中的文件

我正在以完整路径导入:
import“github.com/userX/go project/pkg/package1”

我做错了什么

环境变量:
GOPATH=“/Users/username/go”

vendor
文件夹位于项目的根文件夹中,我正在使用
dep
()管理我的依赖项

在我的供应商文件夹中,我可以找到我的第三方库以及我自己的项目

├── Dockerfile
├── Gopkg.lock
├── Gopkg.toml
├── LICENSE
├── Makefile
├── README.md
├── cmd
│   ├── server
│   │   └── main.go
│   └── cli
│       └── main.go
├── docker-compose.yml
├── pkg
│   ├── package1
│   │   ├── file.go
│   ├── package2
│   │   └── file.go
└── vendor
    └── github.com
        ├── julienschmidt
        │   └── httprouter
        │       ├── LICENSE
        └── userX
            └── go-project
                ├── Dockerfile
                ├── Gopkg.lock
                ├── Gopkg.toml
                ├── LICENSE
                ├── Makefile
                ├── README.md
                ├── cmd
                │   ├── server
                │   │   └── main.go
                │   └── cli
                │       └── main.go
                ├── docker-compose.yml
                └── pkg
                    ├── package1
                    │   ├── file.go
                    ├── pacakge2
                        └── file.go
编辑:在
dep确保--update之后更新了我的文件结构

基本上我的步骤是: 1.获取-u github.com/golang/dep/cmd/dep 2.dep init 3.dep确保--更新

Gopkg.lock包含有关我自己项目的信息:

[[projects]]
  branch = "master"
  name = "github.com/userX/go-project"
  packages = ["pkg/package1","pkg/package2"]
  revision = "560d3aaasdas53562c3eb083252e54ef8ee468bea74ba"

看起来你应该看看,因为对我来说,你只有一个
供应商
目录。如果你不想把东西放在供应商文件夹中,那就不要把它放在那里。您需要显示供应商文件夹的位置、文件夹中的内容以及您用来管理它的工具。请编辑我的问题以添加更多上下文!如果
vendor/
位于
go-project
中,则
dep
不应将
go-project
包添加到vendor文件夹中。我们需要看看如何重现这个问题。您还可以确保您正在使用最新版本的
dep
,并自行修复供应商文件夹,或将其删除并重新开始。您是否可以使用环境栏逐步显示您是如何安装
dep
、启动项目并向itI添加依赖项的?我的根文件夹中有3个目录,(cmd,pkg,vendor)但是我没有任何go文件。你的项目结构应该是:go project/src/github.com/userX/go-project/cmd go-project/src/github.com/userX/go-project/pkg go-project/src/github.com/userX/go-project/vendorYup,这是我的问题,你是对的!我将我的项目克隆到了错误的文件夹
src/go-project
,而不是
src/github.com/userX/go-project
:(真是太遗憾了!