为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
紫衣仙女 2021-11-29 15:30:50
我正在按照说明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/oauth2goapp 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我究竟做错了什么?
查看完整描述

3 回答

?
森栏

TA贡献1810条经验 获得超5个赞

此错误是由以下两种情况之一引起的:

1)syscall通过导入另一个使用它的包来隐式导入

2)有你的包的源文件在你GOPATH位于一个目录或低于同一级别项目的app.yaml中(例如app.yaml中〜/去,和包源在〜/去/ GOPATH / src目录)。如果x/net/internal/nettest您的 GOPATH 中存在类似的包,则syscall导入将goapp在编译时被解析并抛出编译错误。

避免这两种情况应该足以防止任何bad import "syscall"错误或相关的编译错误。


查看完整回答
反对 回复 2021-11-29
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

sirupsen/logrus参考文献syscall

他们有一个AppEngine上的标签规定,不包括系统调用,因此在AppEngine上是可用的,像go build -tags appengine问题310

但是,我还没有成功地将它包含在 AppEngine 项目中,以便可以将此构建参数转发并在某处指定,以便它通过。如果我成功了,我会回来更新的。


查看完整回答
反对 回复 2021-11-29
?
12345678_0001

TA贡献1802条经验 获得超5个赞

复制上面的初始步骤并得到类似的错误,即使没有明确提到系统调用。但是,在 appengine-hello 目录中运行“goapp serve”不会导致任何错误。

Adam 在第 2 点的解释在这里正确适用:需要将 app.yaml 文件放在目录结构中的正确级别。


查看完整回答
反对 回复 2021-11-29
  • 3 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信