【问题标题】:How to install the current version of Go in Ubuntu Precise如何在 Ubuntu Precise 中安装当前版本的 Go
【发布时间】:2013-07-05 01:50:32
【问题描述】:

运行 sudo apt-get install golang-stable,我得到了 Go 版本 go1.0.3。有没有办法安装go1.1.1

【问题讨论】:

  • 最后我不得不从源代码安装。并非所有测试都通过了,但它似乎工作正常。
  • "并非所有测试都通过了,但它似乎工作正常。" @sofia 您使用的是哪个版本的 Ubuntu?除非您运行的是非常旧版本的 Ubuntu,或者您不小心安装了“tip”与“stable”,否则我不会期望测试失败。
  • 我正在使用精确的 ubuntu。但是从 repo duh/golang 安装最新版本没有报告任何问题,所以不确定是什么问题。
  • 我也在使用精确。您是否运行了“hg update tip”或“hg update release”。如果您不记得回顾一下您的 bash 历史文件。使用tip 可能会解释测试失败。

标签: ubuntu go


【解决方案1】:

[已更新(以前的答案不再适用)]

获取最新版本:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go

另见wiki

【讨论】:

  • 所以截至 2014 年 7 月,这里不再有最新版本的 Go。当前版本是 1.3。在 Ubuntu 12.04 上尝试后,我最终得到了 1.1.1 版本。
  • 请更新。截至 2014 年 9 月,我也以“go1.1.2”结束
  • 截至 2014 年 10 月 24 日,我得到了 1.2.1 linux/amd64。
  • 在 2015 年 3 月 29 日签到。该 ppa 以 404 响应。
  • 我用过ppa:evarlast/golang1.4
【解决方案2】:

我喜欢使用GVM 在我的 Ubuntu 机器中管理我的 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 版本。

【讨论】:

  • 我喜欢 RVM 并且总是喜欢我的工具包中的一个好工具。很高兴看到 Go 有像 GVM 这样的工具 :)
  • gvm 与 grails gvm 同名
  • 我刚刚尝试在fish shell下使用GVM,并且警告那些不使用bash的人:GVM将很难正常启动和运行。例如,它的许多脚本都没有 shebang 行。
  • 引用 https://github.com/moovweb/gvmt 的“GVM”网页是 404 未找到。而且我不愿意安装任何似乎没有自己的安全更新程序的东西
  • 我不同意它像“gvm install”和“gvm use”一样简单。
【解决方案3】:

我使用了来自 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 将来会一直更新。

【讨论】:

  • The team named '~ubuntu-lxc' has no PPA named 'ubuntu/lxd-stable'
  • 来自参考链接:sudo add-apt-repository ppa:longsleep/golang-backportssudo apt-get updatesudo apt-get install golang-go
【解决方案4】:

[2015 年 10 月] 回答是因为当前接受的 answersudo apt-get install golang 不是最新的,如果您不想安装 GVM,请按照以下步骤操作。

分步安装:

  1. 下载最新版本here(操作系统:Linux)。
  2. 打开您的终端并转到您的下载目录
  3. sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  4. go 添加到您的路径export PATH=$PATH:/usr/local/go/bin
  5. go version 查看当前安装的版本
  6. 开始编程。

可能的错误 + 修复:(待更新)

如果您收到go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64,那么您做错了什么,请查看此帖子:Go is printing xgcc version but not go installed version

【讨论】:

  • 这个没有armv7
【解决方案5】:

我从源代码安装。这里有分步教程:http://golang.org/doc/install/source

【讨论】:

  • 是的。从源代码安装 Go 是“Go”的最佳方式。这种方式也很容易更新。
  • 我按照这里的说明进行操作,这对我来说非常好golang.org/doc/install#tarball
  • 非常感谢。仍然在我的 Ubuntu 14.04 上工作,而 PPA 没有。 :-)
  • 这很烦人,因为您必须使用 1.4+ 构建引导 1.5+。
【解决方案6】:

这是我发现在 Ubuntu 14.04 上安装 go 最直接和最简单的方法,无需任何 ppa 或任何其他工具。

目前GO的版本是1.7

使用 wget 获取 Go 1.7.ta​​r.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 中添加一行 所以,

sudo nano ~/.bashrc

并将以下行添加到文件末尾。

export PATH="/usr/local/go/bin:$PATH"

现在,go/bin 中的所有命令都可以使用。

检查是否安装成功

go version

对于离线文档,您可以这样做

godoc -http=:6060

可通过http://localhost:6060获取离线文档

注意:

这里有些人建议更改 PATH 变量。

这不是一个好的选择。

  1. 将其更改为 /usr/local/go/bin 是暂时的,一旦您关闭终端,它将重置。

  2. go 命令仅适用于您更改了 PATH 值的终端。

  3. 您将无法使用任何其他命令,例如 ls, nano 或几乎所有命令,因为其他所有命令都在 /usr/bin 或其他位置。所有这些事情都会停止工作,它会开始给你错误。

但是,这是永久性的,不会干扰其他任何事情。

【讨论】:

  • 你需要定义 env var GOPATH=/some/dir 然后为你自己的项目代码定义 PATH=${GOPATH}/bin:${PATH}
  • 是的,我使用 VSCode 添加 GOPATH 我只需要在用户设置 json 中编辑 gopath。感谢您的意见。
  • tar 命令中有一个小错字:am64 而不是 amd64
  • @AdrianLungu 已修复。
  • sudo nano ~./bashrc -> sudo nano ~/.bashrc .. 也应该是 vim :p
【解决方案7】:

我使用这个指令安装最新版本的

  1. 删除现有的 Go 版本:

    sudo apt-get purge golang*
    
  2. 安装最新版本的 Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. 使用此内容在主路径中创建.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"
    
  4. 将 Go 工作区设置为环境变量:

    GOPATH=~/.go
    
  5. 应用.profile 配置:

    source ~/.profile
    

测试:

$ go version
go version go1.11.1 linux/amd64

参考:Go-GitHub-Installation

【讨论】:

    【解决方案8】:

    如果有人正在寻找安装 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
    

    【讨论】:

    【解决方案9】:

    对于当前版本的 Go:

    The Go Programming Language

    Getting Started

    Download the Go distribution

    Downloads

    点击上面的链接访问 Go 项目的下载页面和 选择与您的操作系统匹配的二进制发行版,然后 处理器架构。

    FreeBSD 有官方二进制发行版, Linux、macOS 和 Windows 操作系统和 32 位 (386) 和 64 位 (amd64) x86 处理器架构。

    如果二进制发行版不适用于您的组合 您可能想尝试安装的操作系统和体系结构 源代码或安装 gccgo 而不是 gc。

    Installing Go from source

    【讨论】:

    • 从源代码安装实际上非常快。它编译速度很快,如果您选择跳过它们,测试是可选的。
    【解决方案10】:
    1. https://golang.org/dl/下载说,go1.6beta1.linux-amd64.tar.gz 进入/tmp

    wget https://storage.googleapis.com/golang/go1.6beta1.linux-amd64.tar.gz -o /tmp/go1.6beta1.linux-amd64.tar.gz

    1. 解压到/usr/local/bin

    sudo tar -zxvf go1.6beta1.linux-amd64.tar.gz -C /usr/local/bin/

    1. 设置 GOROOT、GOPATH、[在 ubuntu 上将以下内容添加到 ~/.bashrc]

    mkdir ~/go export GOPATH=~/go export PATH=$PATH:$GOPATH/bin export GOROOT=/usr/local/bin/go export PATH=$PATH:$GOROOT/bin

    1. 验证

    go version 应该显示为

    go version go1.6beta1 linux/amd64

    go env 应该显示为

    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"

    【讨论】:

    • 您好,谢谢您的回答,我正在遵循所有步骤,但是每当我调用“go version”而不是 1.7 时,它都会带来 1.4.2 。还有其他应该做的动作吗?
    【解决方案11】:

    根据golang github with for Ubuntu 的说法,现在可以通过 snap 轻松安装最新版本的 Go:

    使用快照也很有效:

    # This will give you the latest version of go
    $ sudo snap install --classic go
    

    可能比对过时和/或第 3 方 PPA 大惊小怪更可取

    【讨论】:

      【解决方案12】:

      在最近的 Ubuntu (20.10) sudo apt-get install golang 上工作正常;它将安装 1.14 版。

      【讨论】:

        【解决方案13】:

        你也可以使用 update-golang 脚本:

        update-golang 是一个脚本,可以轻松获取和安装新的 Golang 版本,并最大限度地减少系统入侵

        git clone https://github.com/udhos/update-golang
        cd update-golang
        sudo ./update-golang.sh
        

        【讨论】:

          【解决方案14】:

          或者您可以使用this script 来安装 Go 和 LiteIDE?

          如果您对提供的答案不满意,请发表评论,而不是盲目地投反对票。我在过去 4 年中一直使用此设置,没有任何问题。

          【讨论】:

            【解决方案15】:
            1. 如果你有 ubuntu-mate,你可以通过以下方式安装最新版本:

              去吧

            2. 我有一个脚本可以从官方网站下载并安装最后一个版本

               # 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
            

            【讨论】:

              【解决方案16】:

              在 Ubuntu 上安装 Go 的最佳方式是从 here 下载所需的版本。在这里,您可以拥有所有稳定版和发行版,以及存档版本。

              下载您选择的版本后,您可以按照进一步的步骤进行操作,我建议您为 ubuntu 机器下载 tar.gz 格式:

              1. 首先通过执行此操作从本地完全删除旧版本

              sudo rm -rf /usr/local/go /usr/local/gocache

              这将删除所有本地 go 代码库,但等待我们必须做的更多事情才能完全从本地删除,我错过了这一步,我花了很多时间才明白我错过了什么,所以这里是清除的东西从列表中删除

              sudo apt-get purge golang
              

              sudo apt remove golang-go
              
              1. 现在在 /usr/local/go 中安装/解压你下载的 go 版本,点击终端

              tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz

              1. 完成上述所有操作后,不要忘记或检查GOROOT 变量值,如果未设置,则可以通过go env 检查值然后export PATH=$PATH:/usr/local/go
              2. 最好测试一个小的 go 程序来确定。如果您还没有更改设置GOPATH 值,请将其写入/home/yourusername/go/test.php
              package main
              
              import "fmt"
              
              func main() {
                  fmt.Println("hello world")
              }
              
              1. go run test.go 运行

              希望对你有用!!

              【讨论】:

                【解决方案17】:

                您可以使用来自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/
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2012-12-15
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2019-12-08
                  • 2013-07-20
                  相关资源
                  最近更新 更多