我正在按照以下说明进行操作https://cloud.google.com/appengine/docs/go/googlecloudstorageclient/download
开始将一些代码从现已弃用的文件 API 迁移到新的 Cloud Storage API,但没有成功。
我遵循的步骤是...
我正在运行 appengine v1.9.23,它比所需的 appengine v1.8.1 晚。
我的 $GOPATH 已设置,因此我跳过步骤 #1。
我继续执行步骤#2:
goapp get -u golang.org/x/oauth2
goapp get -u google.golang.org/cloud/storage
我不是在托管虚拟机上进行开发,因此我跳过第 3 步。
现在,当我运行该应用程序时,我得到:
go-app-builder: Failed parsing input: parser: bad import "syscall" in goapp/src/golang.org/x/net/internal/nettest/error_posix.go
我究竟做错了什么?
重现步骤
% mkdir $HOME/myapp
- 创建一个新的
app.yaml
文件为~/myapp/app.yaml
。有关详细信息,请阅读 Google 网站上的说明:https://cloud.google.com/appengine/docs/go/config/appconfig https://cloud.google.com/appengine/docs/go/config/appconfig
我使用的版本没有静态资源:
application: myapp
version: alpha-001
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
% mkdir $HOME/myapp/go
% export GOPATH=$HOME/myapp/go
- 获取 Go appengine 示例项目:https://github.com/golang/example https://github.com/golang/example
% goapp get github.com/golang/example/appengine-hello
此命令会将示例应用程序下载到 GOPATH 中的第一个路径条目
- 按照中的指示安装 Google Cloud Storage 客户端库https://cloud.google.com/appengine/docs/go/googlecloudstorageclient/download https://cloud.google.com/appengine/docs/go/googlecloudstorageclient/download。有关更多详细信息,请参阅此问题顶部的步骤。按照说明操作应该会导致您运行 2 个命令:
% go get -u golang.org/x/oauth2
% go get -u google.golang.org/cloud/storage
% goapp serve
您将看到以下编译错误(没有堆栈跟踪):
2015/12/23 10:37:07 go-app-builder: Failed parsing input: parser: bad import "syscall" in go/src/golang.org/x/net/ipv6/control_unix.go