我按照说明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
我不是在托管VM上开发,所以我跳过第3步.
现在当我运行应用程序时,我得到:
go-app-builder: Failed parsing input: parser: bad import "syscall" in goapp/src/golang.org/x/net/internal/nettest/error_posix.go
我究竟做错了什么?
从https://console.cloud.google.com/storage/browser/appengine-sdks/featured/下载安装Google Appengine运行时版本1.9.23 .按照https://cloud.google.com/appengine/downloads?hl=en上记录的安装说明进行操作
创建一个appengine项目目录:
% mkdir $HOME/myapp
创建一个新app.yaml
文件~/myapp/app.yaml
.有关详细信息,请阅读Google网站上的说明:https://cloud.google.com/appengine/docs/go/config/appconfig
我使用的是没有静态资源的版本:
application: myapp version: alpha-001 runtime: go api_version: go1 handlers: - url: /.* script: _go_app
为Go源文件创建一个位置.
% mkdir $HOME/myapp/go
将GOPATH设置为源的位置
% export GOPATH=$HOME/myapp/go
获取Go appengine示例项目:https://github.com/golang/example
% goapp get github.com/golang/example/appengine-hello
此命令将示例应用程序下载到GOPATH中的第一个路径条目
按照https://cloud.google.com/appengine/docs/go/googlecloudstorageclient/download中的说明安装Google云端存储客户端库.有关详细信息,请参阅此问题顶部的步骤.按照说明操作会导致您运行2个命令:
% go get -u golang.org/x/oauth2
% go get -u google.golang.org/cloud/storage
尝试运行你的go应用程序
% 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