如何在Windows命令提示符中更新golang?

38

我有1.7版的golang,想要通过命令提示符将golang更新到1.8。卸载并重新安装是一种选择,但是我能否在Windows 8.1上使用命令来更新它?


6
请按照 安装指南 进行操作,其中包括升级指南(通过删除和重新安装)。此过程完全在命令行中完成(至少对于基于 Unix 的操作系统是如此)。 - Jonathan Hall
你的操作系统是什么?安装程序需要根据操作系统进行选择。 - Scott Stensland
我使用的是Windows 8.1。 - Saransh
我放弃了,手动操作。只需删除您放置的任何位置中的Go文件(我的在C驱动器中),卸载先前的msi版本(我认为此步骤应该是可选的),然后安装最新版本即可。 - iBlehhz
5个回答

28

使用Chocolatey软件包管理器也可以更新Go。请在管理员权限的命令行中运行以最小化安装问题的风险。

安装命令:

choco install golang -y

使用以下方式进行更新:

choco upgrade golang -y

从go1.11更新到go1.16非常顺利。 - Dror Harari
非常好用,谢谢 @David :) - Anoushk
3
即使第一次安装是通过安装程序进行的,也是可以的吗? - Sandburg

8
我认为GVM可能是一个不错的选择。GVM是一个用于管理计算机中Go版本的接口。它允许您通过命令提示符更改Go版本,甚至安装/卸载不同的golang版本。
您可以通过输入以下命令来安装新版本:
gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.5

甚至可以获取您计算机中安装的golang版本列表:
gvm list

更多信息可以在他们的网站上找到:https://github.com/moovweb/gvm

根据我的个人经验,gvm并不值得。我已经设置好了Go。我只是想让更新更容易/更快。一些基本功能无法正常工作。按照普通的方式做似乎更加干净、更好(在我看来)。 - Mihailo
5
据我所知,它不能在 Windows 上运行(网站上没有相关信息,而我也不是 Windows 用户,无法确定)。然而,在 Windows 10 的新版 Bash 上可能会起作用,但我不确定。 - Goma_BR

5
Windows系统通常使用MSI安装程序来下载Go语言包,下载链接在这里: https://golang.org/dl/
如果你想要通过命令行安装,则需要知道当前版本号为1.13.4。有几种方法可以获得版本号,包括从Go官网获取或者使用匹配Docker标签的图像最新版本等方式。如果你是出于管理原因进行操作,版本号也可以作为系统输入变量轻松获取。
一旦你知道所需版本号,就可以从以下网址下载文件:https://dl.google.com/go/go<version>.windows-amd64.msi。 你可以使用类似于Wget for Windows或者Powershell功能的工具进行下载: Invoke-WebRequest -OutFile go1.13.4.windows-amd64.msi https://dl.google.com/go/go1.13.4.windows-amd64.msi 然后你就可以在安静模式下使用MSI: msiexec.exe /package go1.13.4.windows-amd64.msi /quiet

1
如果按照David建议的使用Chocolatey模式进行升级,有可能您系统上定义的GOPATH与现有的GOPATH不匹配(如果您通过手动安装设置了自定义路径)。 Chocolatey将在%USERPROFILE%/go/bin下安装Go二进制文件 --> C:\Program Files\Go\bin 因此,请确保路径正确,并相应地更新您的环境变量。
如果路径发生更改,则安装消息可能如下所示。
环境变量(如PATH)已更改。关闭/重新打开您的shell以查看更改(或在powershell/cmd.exe中只需键入refreshenv)。golang的升级成功。软件安装为'msi',安装位置可能是默认值。

-12
一种简单的方法是使用update-golang脚本。
git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh

30
这种做法很不好,让人们通过下载你的工具包并使用sudo命令来调用它。我查看了代码库,虽然它看起来相对合法但仍是一种不好的做法,不应该被推荐。 - Spets
1
对我来说可以,谢谢Everton/udhos :-) - Sonia Hamilton
1
看起来对我有点用 :) 不过我得先将旧的 /usr/bin/go 建立符号链接,因为它仍然是1.6版本,然后再链接到新安装的 /usr/local/go/bin/go。 - lee penkman
29
sudo?sh?在Windows上?sudo是用于Unix或Linux系统中以超级用户或管理员身份运行命令的命令。而sh通常指Unix或Linux系统中的shell,是一种命令行解释器。在Windows系统中,这些命令通常不会被直接使用。但是,可以使用类似于Cygwin或MinGW等工具来模拟Unix或Linux环境,并在其中使用这些命令。 - Andrew Savinykh
3
这个注释应该被删除,因为OP正在寻求Windows相关的帮助。 - Eduardo La Hoz Miranda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接