在部署 gcloud 时没有遇到供应商依赖项

我通过命令govendor initgovendor fetch "github.com/gorilla/mux"项目中的供应商目录创建的。

http://img1.mukewang.com/647da48800014df702170443.jpg

但是在gcloud中执行deploy时gcloud app deploy出现如下错误,github.com/gorilla/mux未找到:


错误:(gcloud.app.deploy)错误响应:[9]部署包含无法编译的文件:编译失败:/work_dir/main.go:5:5:找不到导入:“github.com/gorilla/多路复用器”


使部署工作缺少什么?我的计划在 gcloud 中是免费的


应用程序.yaml


service: api

runtime: go

api_version: go1


handlers:

- url: /sample

  script: _go_app

主程序


package main


import (

    "encoding/json"

    "github.com/gorilla/mux"

    "net/http"

    "google.golang.org/appengine"

)


type Foo struct {

    Text string `json:"text"`

}


func GetInfo(w http.ResponseWriter, r *http.Request) {

    json.NewEncoder(w).Encode(Foo{"hello"})

}


func init(){

    r := mux.NewRouter()

    r.HandleFunc("/sample", GetInfo)

}


func main() {

    appengine.Main()

}


小唯快跑啊
浏览 134回答 1
1回答

肥皂起泡泡

如果您想使用您销售的 mux 包版本,请确保 SAMPLE-API 文件位于Go workspace中。如果不需要 vendoring,则删除 vendor 目录,运行go get github.com/gorilla/mux然后部署您的应用程序。在这种情况下,您的应用程序文件不需要位于工作空间中。除了这些与构建相关的问题之外,您还必须使用http.DefaultServeMux注册 Gorilla mux 。func init(){    r := mux.NewRouter()    r.HandleFunc("/sample", GetInfo)    http.Handle("/", r)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go