Problem: 我'm using gb to build the project. It recursively checks all folders to get vendor, external and main.go files. Delve doesn' t这样做,所以当我ssh到docker镜像并尝试在项目的根目录上运行dlv服务器时,它说它找不到go文件 . 如果我尝试使用src / cmd / project / main.go,它说它无法找到所有其他软件包 .

  • 您使用的是什么版本的Delve( dlv version )? dlv1.1.0

  • 您使用的是什么版本的Go? ( go version )? go1.9.2

  • 您使用的是哪种操作系统和处理器架构? Docker 18.06.1-ce在Mint 19

  • 你做了什么? dlv debug src / cmd / project / main.go -l 0.0.0.0:2345 --headless = true --log = true - 服务器

  • 你期望看到什么? Delve跑步

  • 你看到了什么?

src / cmd / project / main.go:4:2:在以下任何一个中找不到包“external / nexudus”:/ usr / local / go / src / external / nexudus(来自$ GOROOT)/ go / src / external / nexudus(来自$ GOPATH)src / cmd / project / main.go:8:2:在以下任何一个中找不到包“github.com/jinzhu/gorm”:/usr/local/go/src/github.com/jinzhu / gorm(来自$ GOROOT)/go/src/github.com/jinzhu/gorm(来自$ GOPATH)src / cmd / project / main.go:9:2:找不到软件包“gopkg.in/intercom/intercom- go.v2“中的任何一个:/usr/local/go/src/gopkg.in/intercom/intercom-go.v2(来自$ GOROOT)/go/src/gopkg.in/intercom/intercom-go.v2(从$ GOPATH)退出状态1

  • EXTRA My configuration file (docker/web-dev): ...

VOLUME /项目/ app / contract

VOLUME / project / pkg

VOLUME / project / src

VOLUME /项目/供应商

My docker-compose file:

web:

  build: .

  dockerfile: docker/web-dev

  working_dir: /project

  command: /go/bin/reflex --regex='\.go$$' --inverse-regex='_test\.go$$' --start-service -- sh -c 'gb build all && ./bin/project server'

  ports:

  - 6262:6262

  volumes:

  - ./pkg:/project/pkg

  - ./src:/project/src

  - ./vendor:/project/vendor

  - ./app:/project/app

  - ./app/contracts:/project/app/contracts