云存储 API 的错误导入“系统调用”

我正在按照说明https://cloud.google.com/appengine/docs/go/googlecloudstorageclient/download开始将一些代码从现已弃用的 Files 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

我究竟做错了什么?


紫衣仙女
浏览 158回答 3
3回答

森栏

此错误是由以下两种情况之一引起的:1)syscall通过导入另一个使用它的包来隐式导入2)有你的包的源文件在你GOPATH位于一个目录或低于同一级别项目的app.yaml中(例如app.yaml中在〜/去,和包源在〜/去/ GOPATH / src目录)。如果x/net/internal/nettest您的 GOPATH 中存在类似的包,则syscall导入将goapp在编译时被解析并抛出编译错误。避免这两种情况应该足以防止任何bad import "syscall"错误或相关的编译错误。

繁花不似锦

sirupsen/logrus参考文献syscall。他们有一个AppEngine上的标签规定,不包括系统调用,因此在AppEngine上是可用的,像go build -tags appengine按问题310。但是,我还没有成功地将它包含在 AppEngine 项目中,以便可以将此构建参数转发并在某处指定,以便它通过。如果我成功了,我会回来更新的。

12345678_0001

复制上面的初始步骤并得到类似的错误,即使没有明确提到系统调用。但是,在 appengine-hello 目录中运行“goapp serve”不会导致任何错误。Adam 在第 2 点的解释在这里正确适用:需要将 app.yaml 文件放在目录结构中的正确级别。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go