我正试着按照这里的官方文件学习围棋:https://golang.org/doc/install
我在安装额外的go版本时遇到了麻烦,显然这一行应该安装一个不同版本的go,并在我的$PATH中提供可执行文件,但这并没有发生:
go get golang.org/dl/go1.10.7
相反我看到的是:
c.craig$ go get golang.org/dl/go1.10.7
c.craig$ go1.10.7 download
-bash: go1.10.7: command not found
我哪里错了?我试过用空格,假设这只是文档中的一个错别字,但即使这样也不起作用:
c.craig$ go get golang.org/dl/go1.10.7
c.craig$ go 1.10.7 download
go 1.10.7: unknown command
7条答案
按热度按时间lrl1mhuk1#
在.bash_profile中设置以下路径变量后(不要忘记运行:源代码~/.bash_配置文件)
在一个终端中安装go版本:
现在你还想安装另一个go版本,比如说go1.15.13,方法是执行下面的命令(记住按照上面的方法设置路径)
现在你已经安装了两个go版本;第1.13.15节和第1.15.13节。
例如,在一个终端中,您希望使用版本1.13.15,以便可以在该终端窗口中创建如下别名:
在另一个终端中,您可以切换到不同的版本
rn0zuynd2#
二进制文件安装在
$HOME/go/bin
(或者更准确地说,安装在从go env GOPATH
获得的路径下的bin
目录中)。go get
命令不会更新$PATH
,因此您需要自己将安装目录添加到$PATH
中。xytpbqjk3#
您可能希望尝试Go Version Manager(
gvm
):如果您想从源代码编译,但没有安装
go
:如果遇到编译错误,您可能希望在从源代码编译之前取消注解
CGO_ENABLED=0
。sg3maiej4#
我在尝试安装版本1.17.11时遇到了同样的问题,我的基础版本是1.18.2。
按照这里的https://go.dev/doc/manage-install的指示,但它不为我工作。然后,我意识到,运行
go install golang.org/dl/go<version>@latest
(其中<version>
是你需要的版本)后,一个二进制文件名go<version>
将下载到$HOME/go/bin/
。移动到
$HOME/go/bin/
,运行./go<version> download
,您需要的版本将在$HOME/sdk/
下载要使用您刚刚下载的版本,请将此行添加到
~/.bashrc
文件的末尾:保存并退出,运行
source ~/.bashrc
执行!v2g6jxz65#
我还发现使用此工具在版本之间切换很有用:Freshgo - https://nikfot.github.io/freshgo/这是一个go二进制文件,易于安装(linux)。
我很容易从源代码安装Go版本,并且可以保留Go源文件的备份,所以如果你在版本之间切换,你可以从Go Pkg下载中节省一些时间。
就这么简单:
我还将其安装在shell中,以检查最新版本,并提供了一个就绪脚本:
ni65a41a6#
我遇到了和你一样的问题,在我知道go是向后兼容的之后,我把/usr/local/go/bin/go复制到/usr/local/go/bin/go{version}。
bvhaajcl7#
对于Mac用户来说更容易,我想Linux用户也应该类似,你只需要:
1.使用GO的现代版本,即〉= 1.12
1.确保你可以运行
go version
1.浏览你需要的版本:https://go.dev/dl/假设您想下载
go1.13.15
,您可以运行以下命令(我认为@latest是可选的):go install golang.org/dl/go1.13.15@latest
,如果什么都没发生,那么一切都很好。1.因为你需要更新你的路径,你可以这样做,也可以打开一个新的终端。
1.运行以下命令:
go1.13.15 download
1.现在你可以在$HOME/sdk/go1.13.15中找到一个新的目录,这是你新安装的GO所在的地方。
1.使用以下命令更新您的GOROOT环境变量以使用您的工作区:
export GOROOT=$HOME/sdk/go1.13.15
1.最后键入
go version
,您应该看到