Go пакет зависимостей с 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"
1 ответ
Похоже, вы должны взглянуть на структуру проекта, потому что для меня это выглядит так, как будто у вас есть только каталог vendor
каталог. А также взгляните на каталоги поставщиков