运行sudo apt-get install golang-stable
,我得到 Go 版本go1.0.3
。有什么方法可以安装go1.1.1
吗?
17 回答
[更新(以前的答案不再适用)]
获取最新版本:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go
另见维基
我喜欢在我的 Ubuntu 机器中使用GVM来管理我的 Go 版本。使用起来非常简单,如果您熟悉 RVM,它就很简单。它允许您在系统中安装多个版本的 Go,并在任何时间点在您想要的任何版本之间切换。
安装 GVM:
sudo apt-get install bison mercurial
bash < <(curl -LSs 'https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer')
. "$HOME/.gvm/scripts/gvm"
然后就像这样做一样简单:
gvm install go1.1.1
gvm use go1.1.1 --default
每当您启动新的终端会话时,第二个命令末尾的默认标志会将 go1.1.1 设置为您的默认 Go 版本。
我使用来自GoLang 官方存储库的以下命令,它在我的 Ubuntu 14.04 上安装了GoLang 1.6 版
sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install golang
参考官方 GoLang Repo https://github.com/golang/go/wiki/Ubuntu看来这个 ppa 将来总会更新。
[2015 年 10 月]
回答,因为当前接受的答案sudo apt-get install golang
不是最新的,如果您不想安装,请GVM
按照以下步骤操作。
分步安装:
- 在此处下载最新版本(操作系统:Linux)。
- 打开您的终端并转到您的下载目录
sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
- 添加
go
到您的路径export PATH=$PATH:/usr/local/go/bin
go version
检查当前安装的版本- 开始编程。
可能的错误+修复:(待更新)
如果你得到一个go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64
,那么你做错了什么,所以看看这篇文章:Go is printing xgcc version but not go installed version
我从源代码安装。这里有一个分步教程:http: //golang.org/doc/install/source
这是我发现在没有任何 ppa 或任何其他工具的情况下在 Ubuntu 14.04 上安装 go 的最直接和最简单的方法。
截至目前,GO 版本为 1.7
使用 wget 获取 Go 1.7.tar.gz
wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz
解压并复制到/usr/local/
sudo tar -C /usr/local -xzvf go1.7.linux-amd64.tar.gz
您现在已经成功安装了 GO。现在您必须设置环境变量,以便您可以在go
任何地方使用该命令。
为了实现这一点,我们需要在.bashrc
So 中添加一行,
sudo nano ~/.bashrc
并将以下行添加到文件末尾。
export PATH="/usr/local/go/bin:$PATH"
现在,所有的命令都go/bin
将起作用。
通过执行检查安装是否成功
go version
对于离线文档,您可以执行
godoc -http=:6060
离线文档将在http://localhost:6060
笔记:
这里有些人建议更改 PATH 变量。
这不是一个好的选择。
将其更改为
/usr/local/go/bin
是临时的,一旦您关闭终端,它将重置。go
命令仅在您更改了 PATH 值的终端中有效。您将无法使用任何其他命令,例如
ls, nano
或几乎所有内容,因为其他所有内容都/usr/bin
在其他位置或其他位置。所有这些事情都会停止工作,它会开始给你错误。
但是,这是永久性的,不会干扰其他任何事情。
我使用此说明安装最新版本的
删除现有的 Go 版本:
sudo apt-get purge golang*
安装最新版本的 Go:
sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go
.profile
使用以下内容在主路径中创建文件:# ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin directories PATH="$HOME/bin:$HOME/.local/bin:$PATH"
将 Go 工作区设置为环境变量:
GOPATH=~/.go
应用
.profile
配置:source ~/.profile
测试:
$ go version
go version go1.11.1 linux/amd64
参考:Go-GitHub-安装
如果有人正在寻找安装 Go 1.8,请执行以下操作:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go
然后安装 go
sudo apt-get install golang-1.8-go
- Download say,
go1.6beta1.linux-amd64.tar.gz
from https://golang.org/dl/ into/tmp
wget https://storage.googleapis.com/golang/go1.6beta1.linux-amd64.tar.gz -o /tmp/go1.6beta1.linux-amd64.tar.gz
- un-tar into
/usr/local/bin
sudo tar -zxvf go1.6beta1.linux-amd64.tar.gz -C /usr/local/bin/
- Set GOROOT, GOPATH, [on ubuntu add following to ~/.bashrc]
mkdir ~/go
export GOPATH=~/go
export PATH=$PATH:$GOPATH/bin
export GOROOT=/usr/local/bin/go
export PATH=$PATH:$GOROOT/bin
- Verify
go version
should show be
go version go1.6beta1 linux/amd64
go env
should show be
GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/vats/go" GORACE="" GOROOT="/usr/local/bin/go" GOTOOLDIR="/usr/local/bin/go/pkg/tool/linux_amd64" GO15VENDOREXPERIMENT="1" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0" CXX="g++" CGO_ENABLED="1"
在最近的 Ubuntu (20.10) 上sudo apt-get install golang
运行良好;它将安装 1.14 版。
这些天,根据golang github 和 for Ubuntu,可以通过 snap 轻松安装最新版本的 Go:
使用快照也很有效:
# This will give you the latest version of go
$ sudo snap install --classic go
可能比对过时和/或第 3 方 PPA 大惊小怪更可取
您还可以使用 update-golang 脚本:
update-golang是一个脚本,可以轻松获取和安装新的 Golang 版本,并最大限度地减少系统入侵
git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh
或者也许你可以使用这个脚本来安装 Go 和 LiteIDE?
如果您对提供的答案不满意,请发表评论,而不是盲目投票。在过去的 4 年里,我一直使用这个设置,没有任何问题。
您可以使用来自udhos/update-golang
.
这是一个两班轮的例子(运行为root
):
bash <(curl -s https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh)
ln -vs /usr/local/go/bin/go* /usr/local/bin/
如果你有 ubuntu-mate,你可以通过以下方式安装最新版本:
去吧
我有一个脚本可以从官方网站下载并安装最后一个 go
# Change these varialbe to where ever you feel comfortable DOWNLOAD_DIR=${HOME}/Downloads/GoLang INSTALL_DIR=${HOME}/App function install { mkdir -p ${DOWNLOAD_DIR} cd ${DOWNLOAD_DIR} echo "Fetching latest Go version..." typeset VER=`curl -s https://golang.org/dl/ | grep -m 1 -o 'go\([0-9]\)\+\(\.[0-9]\)\+'` if uname -m | grep 64 > /dev/null; then typeset ARCH=amd64 else typeset ARCH=386 fi typeset FILE=$VER.linux-$ARCH if [[ ! -e ${FILE}.tar.gz ]]; then echo "Downloading '$FILE' ..." wget https://storage.googleapis.com/golang/${FILE}.tar.gz fi echo "Installing ${FILE} ..." tar zxfC ${FILE}.tar.gz ${INSTALL_DIR} echo "Go is installed" } install
设置你的 GOROOT、GOPATH 和 PATH:
export GOROOT=${INSTALL_DIR}/go
export GOPATH=<your go path>
export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin
在 Ubuntu 上安装 Go 的最佳方法是从这里下载所需的版本。在这里,您可以拥有所有稳定版和发行版,以及存档版本。
下载您选择的版本后,您可以按照进一步的步骤进行操作,我建议您为 ubuntu 机器下载 tar.gz 格式:
- 首先通过这样做从您的本地完全删除旧版本
sudo rm -rf /usr/local/go /usr/local/gocache
这将删除所有本地 go 代码库,但等待我们必须做的更多事情才能完全从本地删除,我错过了这一步,花了很长时间才明白我错过了什么,所以这里是要删除的清除内容列表
sudo apt-get purge golang
或者
sudo apt remove golang-go
- 现在在 /usr/local/go 中安装/解压你下载的 go 版本,通过点击终端
tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz
- 完成以上所有操作后,不要忘记或检查
GOROOT
变量值,go env
如果未设置,则可以检查值export PATH=$PATH:/usr/local/go
- 最好测试一个小的 go 程序来确定。
/home/yourusername/go/test.php
如果您没有更改设定GOPATH
值,请将其写在里面:
package main import "fmt" func main() { fmt.Println("hello world") }
- 运行这个
go run test.go
我希望这个对你有用!!