请注意,由于Go 1.17不推荐使用go get安装包: 不推荐使用get生成和安装程序包。在将来的版本中,默认情况下将启用-d标志,并且go get将仅用于调整当前模块的依赖项。要使用当前模块的依赖项安装程序包,请使用go install。 这个“未来版本”是Go 1.18,正如发行说明中提到的: go get不再以模块感知模式构建或安装软件包。go get现在专门用于调整go.mod中的依赖关系。实际上,-d标志始终处于启用状态。 (The -d标志指示go get仅下载包而不安装它们。) 请改用go install:
# Install the latest version of a program,
# ignoring go.mod in the current directory (if any).
$ go install golang.org/x/tools/gopls@latest
# Install a specific version of a program.
$ go install golang.org/x/tools/gopls@v0.6.4
# Install a program at the version selected by the module in the current directory.
$ go install golang.org/x/tools/gopls
# Install all programs in a directory.
$ go install ./cmd/...
4条答案
按热度按时间pu82cl6c1#
Command go
下载并安装软件包和依赖项
用法:
Get下载由导入路径命名的包,沿着它们的依赖项,然后安装命名的包,就像“go install”一样。
d标志指示get在下载包后停止;即指示get不安装包。
-f标志只有在设置了-u时才有效,它强制get -u不验证每个包是否已经从其导入路径所暗示的源代码控制库中 checkout 。如果源代码是原始包的本地分支,这将非常有用。
fix标志指示get在解析依赖项或生成代码之前对下载的包运行修复工具。
t标志指示get还下载为指定包构建测试所需的包。
-u标志指示get使用网络更新指定的包及其依赖项。默认情况下,get使用网络 checkout 丢失的包,但不使用网络查找现有包的更新。
v标志启用详细进度和调试输出。
Get还接受生成标志以控制安装。请参阅“go help build”。
checkout 新包时,get将创建目标目录GOPATH/src/。如果GOPATH包含多个条目,get将使用第一个条目。有关详细信息,请参阅:“去帮哥帕斯”
当 checkout 或更新一个软件包时,get会查找与本地安装的Go版本相匹配的分支或标签,最重要的规则是,如果本地安装运行的是“go 1”版本,get会查找名为“go 1”的分支或标签,如果不存在这样的版本,它会检索软件包的默认分支。
当go get checkout 或更新Git仓库时,它也会更新仓库引用的所有git子模块。
Get从不 checkout 或更新存储在供应商目录中的代码。
有关指定软件包的详细信息,请参阅“go help packages”。
有关“go get”如何查找要下载的源代码的详细信息,请参阅“go help importpath”。
本文描述了使用GOPATH管理源代码和依赖项时get的行为。如果go命令以模块识别模式运行,则get的标志和效果的详细信息会发生变化,“go help get”也会发生变化。请参阅“go help modules”和“go help module-get”。
另请参阅:构建、安装、清理。
例如,显示详细输出,
nr9pn0ug2#
首先,我们需要GOPATH
$GOPATH
是由其环境变量指定的一个文件夹(或一组文件夹),我们必须注意到这不是Go语言安装的$GOROOT
目录。我们在计算机中使用
~/gocode
路径来存储应用程序的源代码及其依赖项。GOPATH
目录也将存储它们的包的二进制文件。然后选中Go env
您的系统必须有
$GOPATH
和$GOROOT
,下面是我的环境:现在,运行下载go包:
下载并安装由导入路径命名的包沿着依赖项。有关详细信息,请查看此处。
k5ifujac3#
请注意,由于Go 1.17不推荐使用
go get
安装包:不推荐使用get生成和安装程序包。在将来的版本中,默认情况下将启用
-d
标志,并且go get
将仅用于调整当前模块的依赖项。要使用当前模块的依赖项安装程序包,请使用go install
。这个“未来版本”是Go 1.18,正如发行说明中提到的:
go get
不再以模块感知模式构建或安装软件包。go get
现在专门用于调整go.mod中的依赖关系。实际上,-d
标志始终处于启用状态。(The
-d
标志指示go get
仅下载包而不安装它们。)请改用
go install
:要安装任何其他软件包,只需:
(you可以省略版本后缀
@<version>
,例如@latest
)Go语言1.18的发行说明中也提到
go get
可以像以前一样使用GO111MODULE=off
,但是在2022年你应该迁移到模块中,使用go install
。odopli944#
从控制台运行