如何使用 `dep` 将带有内部包的 Go 应用程序部署到 Heroku
How to deploy Go apps with internal package to Heroku using `dep`
我正在使用 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 应用程序还需要做什么?谢谢。
尝试将根包设置为不带域的项目名称
[metadata.heroku]
root-package = "my-app"
go-version = "go1.9.2"
install = [ "./..." ]
我正在使用 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 应用程序还需要做什么?谢谢。
尝试将根包设置为不带域的项目名称
[metadata.heroku]
root-package = "my-app"
go-version = "go1.9.2"
install = [ "./..." ]