我正在使用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无法在我的项目上运行安装:
----> 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应用程序还需要做些什么?感谢。
答案 0 :(得分:4)
尝试将根程序包设置为不带域
的项目名称 [metadata.heroku]
root-package = "my-app"
go-version = "go1.9.2"
install = [ "./..." ]