2

我正在使用 Heroku 的 Golang buildpack 部署一个具有以下结构的简单 Web 应用程序

my-app/
    handler/
        user.go
        session.go
    vendor/
        github.com/
        golang.org/
    main.go
    Gopkg.toml
    Gopkg.lock

在我的主文件中,我导入了自己的handler

import (
    "fmt"
    "net/http"
    "my-app/handler"
)

由于以下错误,Heroku 无法在我的项目上运行 go install:

----> Using go1.9.3
----> Running: go install -v -tags heroku . 
----> cannot find package "my-app/handler" in any of: ... 

我可以在本地运行go install并且my-app没有任何问题。在我看来,heroku 无法识别我的内部项目包。

我正在使用 dep,我的 Gopkg.toml 中有以下配置:

[metadata.heroku]
root-package = "github.com/mygithub/my-app"
go-version = "go1.9.3"
install = ["."]
ensure = "false"

我还需要做什么来部署带有内部包的 Go 应用程序?谢谢。

4

1 回答 1

4

尝试将根包设置为只是没有域的项目名称

[metadata.heroku] root-package = "my-app" go-version = "go1.9.2" install = [ "./..." ]

于 2018-02-05T08:55:00.040 回答