我正在按照说明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"
错误或相关的编译错误。
12345678_0001
TA贡献1802条经验 获得超5个赞
复制上面的初始步骤并得到类似的错误,即使没有明确提到系统调用。但是,在 appengine-hello 目录中运行“goapp serve”不会导致任何错误。
Adam 在第 2 点的解释在这里正确适用:需要将 app.yaml 文件放在目录结构中的正确级别。
- 3 回答
- 0 关注
- 157 浏览
添加回答
举报
0/150
提交
取消