我通过命令govendor init和govendor fetch "github.com/gorilla/mux"项目中的供应商目录创建的。但是在gcloud中执行deploy时gcloud app deploy出现如下错误,github.com/gorilla/mux未找到:错误:(gcloud.app.deploy)错误响应:[9]部署包含无法编译的文件:编译失败:/work_dir/main.go:5:5:找不到导入:“github.com/gorilla/多路复用器”使部署工作缺少什么?我的计划在 gcloud 中是免费的应用程序.yamlservice: apiruntime: goapi_version: go1handlers:- url: /sample script: _go_app主程序package mainimport ( "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()}
1 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
如果您想使用您销售的 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)
}
- 1 回答
- 0 关注
- 122 浏览
添加回答
举报
0/150
提交
取消