[英]Go package dependencies with go dep
我在同一個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
由於某種原因,我的項目作為依賴項存在於文件夾供應商中。 而且,我不想這樣做,因為如果我更改package1
,則需要先將其推送以使package2
具有最新更改。 因為它正在使用供應商文件夾中的文件。
我正在導入完整路徑: import "github.com/userX/go-project/pkg/package1"
我做錯了什么?
ENV VARS: GOPATH="/Users/username/go"
vendor
文件夾位於項目的根文件夾中,我正在使用dep
( https://github.com/golang/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 ensure --update
之后更新了我的文件結構
基本上是我的步驟:1.轉到-u github.com/golang/dep/cmd/dep 2. dep init 3. dep確保--update
Gopkg.lock包含有關我自己的項目的信息:
[[projects]]
branch = "master"
name = "github.com/userX/go-project"
packages = ["pkg/package1","pkg/package2"]
revision = "560d3aaasdas53562c3eb083252e54ef8ee468bea74ba"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.