将应用程序推送到云代工厂时多路复用未知修订错误

问题描述

我正在尝试使用 mux 进行路由将 Go Web 应用程序部署到 Cloud Foundry。我的应用程序还包含一些其他依赖项,如下所述。但是,go.mod 文件、清单文件或 gorilla/mux 存储库的 go.mod 文件(极不可能)存在问题。

这是在输入 go mod init 然后 go build 时创建的 go.mod 文件

module deployment_automation_tool

go 1.15

require (
    github.com/gorilla/mux v1.8.0
    github.com/jinzhu/gorm v1.9.16
    github.com/mattn/go-sqlite3 v1.14.6
)

这是清单:

---
applications:
  - name: deployment_automation_tool
    buildpacks:
      - go_buildpack
    env:
      GOPACKAGENAME : deployment_automation_tool

但是,我不断收到此错误

 **ERROR** problem retrieving main package name: go: github.com/gorilla/[email protected]: reading github.com/gorilla/mux/go.mod at revision v1.8.0: unkNown revision v1.8.0

 **ERROR** Unable to determine import path: exit status 1
   Failed to compile droplet: Failed to run finalize script: exit status 12
   Exit status 223

解决方法

我通过使用 dep 而不是 Go 模块解决了这个问题。它在其官方文档中提到它已被弃用,但我发现它可以完美地与 go_buildpack 一起使用。 如果我找到一种使用 go 模块将其推送到 CF 的方法,我会更新答案。