【问题标题】:How to install Go on my ubuntu 12.10 from source code如何从源代码在我的 ubuntu 12.10 上安装 Go
【发布时间】:2014-03-02 10:02:20
【问题描述】:

我正在尝试在我的 Ubuntu 系统上安装 Go,但面临安装步骤陈旧和损坏的问题。我尝试使用 apt-get 但收到以下错误

$ sudo apt-get install golang

 404  Not Found [IP: 91.189.91.13 80] 
 404  Not Found [IP: 91.189.92.200 80]
 404  Not Found [IP: 91.189.92.200 80]
 Get:5 http://archive.ubuntu.com/ubuntu/ quantal/universe golang-go amd64 2:1.0.2-2 [17.3 MB]
Fetched 24.9 MB in 2min 47s (149 kB/s)                                         
Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/p/perl/perl-modules_5.14.2-         13ubuntu0.2_all.deb  404  Not Found [IP: 91.189.92.200 80]
 Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/p/perl/perl_5.14.2-13ubuntu0.2_amd64.deb  404  Not Found [IP: 91.189.92.200 80]
 E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

我也尝试通过 GVM 安装,得到以下错误:

scripts/gvm-installer) < <(curl -s https://raw.github.com/moovweb/gvm/master/bin 

-bash: curl: 找不到命令

我对 Go 语言还很陌生。请帮助我:如何安装 Go?

【问题讨论】:

    标签: ubuntu go


    【解决方案1】:

    在你的电脑上配置 Go 开发环境的方法有很多种,你可以选择你喜欢的那一种。最常见的三种方式如下。

    官方安装包: Go 团队在 Windows、Linux、Mac 等操作系统中提供方便的安装包。这可能是最简单的开始方式。

    从源代码自行安装: 深受熟悉类 Unix 系统的开发人员欢迎。

    使用第三方工具: 有许多用于安装 Go 的第三方工具和包管理器,例如 Ubuntu 中的 apt-get 和 Mac 中的 homebrew。

    1.从源代码安装

    a) 在类 Unix 系统上,您需要安装 gcc 或类似的编译器。例如,使用包管理器 apt-get(包括在 Ubuntu 中),可以安装所需的编译器,如下所示:

    sudo apt-get install bison ed gawk gcc libc6-dev make
    

    b) Go 团队使用Mercurial 管理他们的源代码,因此您需要安装此工具才能下载 Go 源代码。

    sudo apt-get install python-setuptools python-dev build-essential
    sudo apt-get install mercurial
    

    c) Go 将安装到名为“go”的目录中。此目录不应存在于 $GOROOT。通过键入以下命令结帐并获取最新代码:

    hg clone -u release https://code.google.com/p/go
    

    d) 现在编译 Go 源代码。

    cd go/src
    ./all.bash  
    

    构建和测试需要一些时间(几分钟),并且在所有成功后 测试,出现以下消息:

      ALL TESTS PASSED
    ---
    Installed Go for linux/amd64 in /home/ubuntu/go.
    Installed commands in /home/ubuntu/go/bin.
    *** You need to add /home/ubuntu/go/bin to your $PATH. ***
    The compiler is 6g.
    

    e) 验证安装的 Go 版本:

    go version
    

    f) 设置 Go-Environment 变量

    现在我们已经准备好设置我们的工作区了。 $GOPATH 是由其环境变量指定的文件夹(或一组文件夹)。我们必须注意,这不是安装 Go 的 $GOROOT 目录。

    echo "export GOROOT=\$HOME/go" >> ~/.profile
    echo "export GOPATH=$HOME/gocode" >> ~/.profile
    echo "PATH=$PATH:\$GOROOT/bin" >> ~/.profile
    echo "PATH=$PATH:$GOPATH/bin" >> ~/.profile
    source ~/.profile
    

    我们在计算机中使用 ~/gocode 路径来存储应用程序的源代码及其依赖项。 GOPATH 目录也将存储它们的包的二进制文件。

    2。使用标准安装包

    Go 为每个受支持的操作系统(MacLinuxWindows)提供一键式安装包。默认情况下,这些包将在 /usr/local/go(Windows 中的 c:\Go)中安装 Go。当然这可以修改,但是你也需要手动修改所有的环境变量,如上图所示。

    3.使用第三方工具

    a) GVM

    GVM 是第三方开发的 Go 多版本控制工具,如 rvm for ruby​​。它很容易使用。通过在终端中输入以下命令来安装 gvm:

    bash < <(curl -s -S -L https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer)
    

    然后我们使用以下命令安装 Go:

    gvm install go1.0.3
    gvm use go1.0.3
    

    该过程完成后,一切就绪。

    b) 易于获取

    Ubuntu 是 Linux 最流行的桌面发行版本。它使用 apt-get 来管理包。我们可以使用以下命令安装 Go。

    sudo add-apt-repository ppa:gophers/go
    sudo apt-get update
    sudo apt-get install golang-stable
    

    c) 自制

    Homebrew 是 Mac 中常用来管理软件包的软件管理工具。只需键入以下命令即可安装 Go。

    brew install go
    

    【讨论】:

    • 感谢您的快速帮助。我使用了 GVM,它对我有用。
    • 嗨,我看到“错误:已安装!”的错误,但每当我尝试“gvm install go1.7”时,它都会显示:“-bash: gvm: command not found”。你遇到过这样的行为吗?
    【解决方案2】:

    这会将 Go 安装到您的主目录中。

    # Update package lists
    sudo apt-get update -q
    
    # Install packages
    sudo apt-get install -qy build-essential curl git
    
    # Install Go source
    mkdir ~/gosrc && curl -s https://go.googlecode.com/files/go1.2.src.tar.gz | tar -v -C ~/gosrc -xz
    
    # Build Go from source
    cd ~/gosrc/go/src && ./make.bash
    

    然后您需要设置GOPATH(以及可选的GOROOT)变量,并修改您的PATH 以包含bin 目录,以便正确使用这些工具。详情请见How to Write Go Code

    【讨论】:

      【解决方案3】:

      我使用godeb 这很容易

      1. 从上面的页面下载正确版本的godeb
      2. ./godeb 安装

      这会从 golang.org 下载二进制版本,然后将其转换为 .deb 然后安装它。

      它是由为 Canonical 工作并曾在 Launchpad 中维护 Go PPA 的 Gustavo Niemeyer 编写的,但为了支持这一点而放弃了它。所以我想说这是官方的!

      【讨论】:

        【解决方案4】:
        1. 只需从官网下载一个go的二进制包: https://code.google.com/p/go/downloads/list?q=OpSys-FreeBSD+OR+OpSys-Linux+OR+OpSys-OSX+Type-Archive

        2. 解压并移动到 /usr/local/go(即sudo mv go1.2 /usr/local/go

        3. mkdir $HOME/go

        4. 添加到您的 .bashrc: export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

        你应该很好!

        【讨论】:

          猜你喜欢
          • 2013-11-14
          • 2013-11-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-19
          相关资源
          最近更新 更多