英文:
Google App Engine: request.BasicAuth undefined (type *http.Request has no field or method BasicAuth)
问题
我正在尝试将一个Go应用部署到Google App Engine,但是由于以下错误,编译失败了。
request.BasicAuth undefined (type *http.Request has no field or method BasicAuth)
我猜这个错误意味着我的Google App Engine安装不是最新的,所以我进行了更新,现在运行go_appengine/goapp version
返回:
go version go1.4.1 (appengine-1.9.18) darwin/amd64
我可以成功地使用serve
命令运行我的应用,但是当我尝试deploy
时,仍然会出现这个错误。我漏掉了什么?
英文:
I'm trying to deploy a go app to Google App Engine but compilation is failing because of this error.
request.BasicAuth undefined (type *http.Request has no field or method BasicAuth)
I figured this error meant that my google app engine installation was not the latest one so I updated it and now running go_appengine/goapp version
returns:
go version go1.4.1 (appengine-1.9.18) darwin/amd64
I can successfully serve
my app but I keep getting this error when I try to deploy
. What am I missing?
答案1
得分: 1
Go AppEngine运行时环境使用Go版本1.2,您可以在Go运行时环境页面上阅读到相关信息。
1.4版本的beta版运行时版本已经可用,您可以在这里了解更多信息:
如果您想使用1.4 beta运行时,您需要在app.yaml
配置文件中指定如下内容:
api_version: go1.4beta
请注意,尽管Go 1.4已经发布(当前版本为1.4.2),但AppEngine运行时版本1.4仍未发布。
引用相关部分:
> Go 1.4尚未发布,因此go1.4beta运行时是基于核心Go树的release-branch.go1.4构建的,并且可能会在Go 1.4发布之前进行更新。
> 我们将不会提供Go 1.4 SDK的beta版本。您应该使用普通的Go App Engine SDK中的goapp deploy(或appcfg.py)来部署您的应用程序。
> 要使用go1.4beta,请更新您的app.yaml文件以使用新的api_version:
> api_version: go1.4beta
> 在Go 1.4发布后,它将成为api_version 'go1'的基础,而'go1.4beta'将很快被淘汰。我们预计这将在明年年初发生。
英文:
The Go AppEngine runtime environment uses Go version 1.2 as you can read it on the Go Runtime Environment page.
A beta version of 1.4 runtime version is available, you can read more about it here:
go1.4beta is now ready for testing
If you want to use the 1.4 beta runtime, you have to specify it in your app.yaml
config file like this:
api_version: go1.4beta
Note that even though Go 1.4 is out (current version is 1.4.2), the AppEngine runtime version of 1.4 is still not released.
Quoting the relevant part:
> Go 1.4 has not yet been released, so the go1.4beta runtime is built
from the release-branch.go1.4 of the core Go tree, and may be updated
as Go 1.4 approaches.
> We will not be providing a beta version of the Go 1.4 SDK. You should
use goapp deploy (or appcfg.py) from the normal Go App Engine SDK to
deploy your app.
> To use go1.4beta, update your app.yaml file to use the new api_version:
> api_version: go1.4beta
> After Go 1.4 is released it will become the basis for api_version
'go1', as normal, and 'go1.4beta' will be retired soon afterward. We
expect this to happen early next year.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论