在 google.cloud 中使用 1.18

描述

我正在尝试从 go v1.18 程序安装一个库来访问谷歌云。以前,使用“go get”命令,但从 1.18 版本开始,它不再可用。好像是用go install,但是执行命令的时候报错。


% go install cloud.google.com/go/bigquery

go: 'go install' requires a version when current directory is not in a module

    Try 'go install cloud.google.com/go/bigquery@latest' to install the latest version


% go install cloud.google.com/go/bigquery@latest

package cloud.google.com/go/bigquery is not a main package


% go install cloud.google.com/go@latest

package cloud.google.com/go is not a main package

环境

% go version

go version go1.18 darwin/amd64


% uname -v

Darwin Kernel Version 21.4.0: Fri Mar 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64


% sw_vers

ProductName:    macOS

ProductVersion: 12.3.1

BuildVersion:   21E258

参考

bigquery 包 - cloud.google.com/go/bigquery - pkg.go.dev


我试过了,

谢谢您的支持。


% go mod init cloud.google.com/go


% go get -u cloud.google.com/go/datacatalog

go: added cloud.google.com/go/datacatalog v1.3.0


% go mod tidy

go: downloading google.golang.org/appengine v1.6.7

go: downloading golang.org/x/sys v0.0.0-20220209214540-3681064d5158



% go mod vendor


% go run catalog.go

package command-line-arguments is not a main package

接下来我该做什么?


自行解决。-> 更改包名称“main”


墨色风雨
浏览 217回答 1
1回答

料青山看我应如是

go install 用于安装软件包中可用的二进制程序。通常是命令行工具。go get,直到go1.18,都是用来更新包和安装程序的,他们改成split in several programs似乎没有什么可安装的。主包也不是 bigquery 而是 cloud.google.com/go如果你想安装一个依赖项,如果你使用的是供应商模块,你可以这样做$ go get -u cloud.google.com/go/bigquery$ Go Mod 整洁$ 去 mod 供应商如果没有,您可以go mod init先运行来尝试
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go