小编典典

如何使用 go get 安装软件包?

all

我想从 github 安装包到我的$GOPATH,我试过这个:

go get github.com:capotej/groupcache-db-experiment.git

存储库在这里


阅读 120

收藏
2022-07-07

共1个答案

小编典典

命令去

下载并安装软件包和依赖项

用法:

go get [-d] [-f] [-t] [-u] [-v] [-fix] [-insecure] [build flags]

[packages]

Get 下载由导入路径命名的包及其依赖项。然后它会安装命名的包,比如“go install”。

-d 标志指示 get 在下载包后停止;也就是说,它指示 get 不要安装这些软件包。

-f 标志仅在设置 -u 时有效,它强制 get -u
不验证每个包是否已从其导入路径所暗示的源代码控制存储库中签出。如果源是原始的本地分支,这将很有用。

-fix 标志指示 get 在解决依赖关系或构建代码之前对下载的包运行修复工具。

-insecure 标志允许从存储库中获取并使用 HTTP 等不安全方案解析自定义域。谨慎使用。

-t 标志指示 get 还下载为指定包构建测试所需的包。

-u 标志指示 get 使用网络来更新命名包及其依赖项。默认情况下,get 使用网络检查丢失的包,但不使用它来查找现有包的更新。

-v 标志启用详细进度和调试输出。

Get 还接受构建标志来控制安装。请参阅“帮助构建”。

签出新包时,get 创建目标目录 GOPATH/src/。如果 GOPATH 包含多个条目,则 get 使用第一个。有关更多详细信息,请参阅:’go
help gopath’。

在签出或更新包时,get 会查找与本地安装的 Go 版本匹配的分支或标签。最重要的规则是,如果本地安装运行版本“go1”,get
搜索名为“go1”的分支或标签。如果不存在这样的版本,它将检索包的默认分支。

当 go get 签出或更新 Git 存储库时,它还会更新存储库引用的任何 git 子模块。

Get 从不签出或更新存储在供应商目录中的代码。

有关指定包的更多信息,请参阅“go help packages”。

有关“go get”如何查找要下载的源代码的更多信息,请参阅“go help importpath”。

本文描述了使用 GOPATH 管理源代码和依赖项时 get 的行为。如果 go 命令在模块感知模式下运行,则 get
的标志和效果的详细信息会发生变化,“go help get”也是如此。请参阅“go help modules”和“go help module-
get”。

另请参阅:构建、安装、清理。


例如,显示详细输出,

$ go get -v github.com/capotej/groupcache-db-experiment/...
github.com/capotej/groupcache-db-experiment (download)
github.com/golang/groupcache (download)
github.com/golang/protobuf (download)
github.com/capotej/groupcache-db-experiment/api
github.com/capotej/groupcache-db-experiment/client
github.com/capotej/groupcache-db-experiment/slowdb
github.com/golang/groupcache/consistenthash
github.com/golang/protobuf/proto
github.com/golang/groupcache/lru
github.com/capotej/groupcache-db-experiment/dbserver
github.com/capotej/groupcache-db-experiment/cli
github.com/golang/groupcache/singleflight
github.com/golang/groupcache/groupcachepb
github.com/golang/groupcache
github.com/capotej/groupcache-db-experiment/frontend
$
2022-07-07