一尘不染

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

go

我想将包从github安装到我的gopath,我已经尝试过了:

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

仓库在这里


阅读 332

收藏
2020-07-02

共1个答案

一尘不染

命令去

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

用法:

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

[packages]

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

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

-f标志仅在设置-u后才有效,它强制-u不验证每个软件包是否已从其导入路径所隐含的源代码控制存储库中检出。如果源是原始文件的本地派生,这将很有用。

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

-insecure标志允许使用非安全方案(例如HTTP)从存储库中获取信息并解析自定义域。请谨慎使用。

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

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

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

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

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

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

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

永远不要检出或更新存储在供应商目录中的代码。

有关指定软件包的更多信息,请参见“转到帮助软件包”。

有关“获取”如何找到要下载的源代码的更多信息,请参见“获取帮助importpath”。

本文介绍了使用GOPATH管理源代码和依赖项时get的行为。相反,如果go命令以模块感知模式运行,则get的标志和效果的详细信息会更改,“ go
help 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
$
2020-07-02