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 каталог. А также взгляните на каталоги поставщиков

Другие вопросы по тегам