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

我无法使用 google.golang.org/appengine 模块将 Go 模块部署到

我无法使用 google.golang.org/appengine 模块将 Go 模块部署到

Go
元芳怎么了 2021-12-07 10:29:35
根据我可以阅读的最新材料,以及基于某些 API(例如Go Datastore API)的文档,我应该使用google.golang.org/appengineetc. 而不是旧appengine/...路径。但是,当我尝试使用 gcloud preview app deploy 进行部署时,出现以下错误:部署包含无法编译的文件:编译失败:2016/01/14 14:32:43 go-app-builder: build timing: 2×6g (113ms total), 0×6l (0 total)2016/01/14 14:32:43 go-app-builder: failed running 6g: exit status 1server/alexa.go:10: can't find import: "golang.org/x/net/context"该golang.org/x/net/context软件包应该替换旧的软件包appengine/context,但它在部署服务器的GOROOT.我尝试在我的包 repo 中包含所有依赖项及其依赖项,但这只会导致我出现这个模糊的错误(它抱怨的目录实际上存在):部署包含无法编译的文件:编译失败:2016/01/14 14:27:04 go-app-builder: build timing: 18×6g (1.819s total), 0×6l (0 total)2016/01/14 14:27:04 go-app-builder: failed running 6g: exit status 1github.com/golang/protobuf/protoc-gen-go/testdata/my_test/test.pb.go:27: can't find import: "github.com/golang/protobuf/protoc-gen-go/testdata/multi"我是否误解了文档并且只应该使用旧包?
查看完整描述

3 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

您需要执行 ago get golang.org/x/net/context将该包保存在您的 go src 目录中。但是,在使用 App Engine 时,这不是必需的。这些库可以导入和使用,但它们主要集中在 App Engine 之外运行的应用程序,即容器引擎或计算引擎。它们本质上与 Google 为这些服务准备的 RESTful API 挂钩。如果您决定直接使用 Google Cloud Storage,您将需要这些库,因为 App Engine 期望您改用 Blobstore。希望这可以帮助。


查看完整回答
反对 回复 2021-12-07
?
皈依舞

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

如果您使用的是 gosdk,只需goapp get在与.go文件相同的目录中运行,它就会下载依赖项并将其安装到您的 gosdk 安装中。然后再次部署该应用程序,它应该可以毫无问题地编译。

当它工作时没有提示,文件将被下载到 gosdk\gopath\src

完成后会有一条警告信息,可以忽略:

go install: GOPATH 之外的目录 C:\your_current_directory 没有安装位置有关更多详细信息,请参阅:go help gopath


查看完整回答
反对 回复 2021-12-07
?
慕森王

TA贡献1777条经验 获得超3个赞

作为记录,此问题现已通过gcloud 版本 142修复。现在应该可以使用gcloud beta app deploy --project <project> app.yaml. 使用gcloud components update命令行升级。


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

添加回答

举报

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