Go包依赖项与Go dep
我在同一github存储库中有以下项目结构: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/
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
:(真是太遗憾了!