首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在部署中,gcloud不会遇到供应商的依赖关系。

在部署中,gcloud不会遇到供应商的依赖关系。
EN

Stack Overflow用户
提问于 2019-02-01 19:28:10
回答 1查看 163关注 0票数 0

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

但是,在gcloud gcloud app deploy中执行部署时会发生以下错误,无法找到github.com/gorilla/mux

错误:(gcloud.app.deploy)错误响应:9部署包含无法编译的文件:编译失败: /work_dir/main.go:5:5:无法找到导入:"github.com/gorilla/mux“

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

app.yaml

代码语言:javascript
运行
复制
service: api
runtime: go
api_version: go1

handlers:
- url: /sample
  script: _go_app

main.go

代码语言:javascript
运行
复制
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()
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-01 22:34:16

如果您想使用这个mux包的版本,那么请确保示例-API文件在Go工作区中。

如果不需要监控,请删除供应商目录,运行go get github.com/gorilla/mux,然后部署应用程序。在这种情况下,应用程序文件不需要在工作区中。

除了这些与构建相关的问题之外,您还必须向http.DefaultServeMux注册Gorilla。

代码语言:javascript
运行
复制
func init(){
    r := mux.NewRouter()
    r.HandleFunc("/sample", GetInfo)
    http.Handle("/", r)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54486017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档