如何从源代码在我的ubuntu 12.10上安装Go

如何从源代码在我的ubuntu 12.10上安装Go,ubuntu,go,Ubuntu,Go,我正试图在我的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/ubu

我正试图在我的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 

scripts/gvm安装程序)<在您的计算机上配置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团队用于管理其源代码,因此您需要安装此工具才能下载Go源代码

sudo apt-get install python-setuptools python-dev build-essential
sudo apt-get install mercurial
cd go/src
./all.bash  
c) Go将安装到名为“Go”的目录中。此目录不应存在于$GOROOT。通过键入以下命令签出并获取最新代码:

hg clone -u release https://code.google.com/p/go
d) 现在编译Go源代码

sudo apt-get install python-setuptools python-dev build-essential
sudo apt-get install mercurial
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) 设置围棋环境变量

现在我们已经准备好设置工作区了。$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为每个受支持的操作系统(,)提供了一键式安装包。默认情况下,这些软件包将安装Go-in/usr/local/Go(c:\Go-in-Windows)。当然,这是可以修改的,但是您还需要手动更改所有环境变量,正如我上面所示

3。使用第三方工具

a) GVM

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

bash < <(curl -s -S -L https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer)
流程完成后,您就可以开始了

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
  • 只需从网站下载go的二进制软件包:

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

  • mkdir$HOME/go

  • 添加到您的.bashrc中:
    
    导出GOROOT=/usr/local/go
    导出GOPATH=$HOME/go
    导出路径=$PATH:$GOROOT/bin:$GOPATH/bin
    


  • 你应该很好

    这将在您的主目录中安装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
    目录,以便正确使用工具。有关更多详细信息,请参阅。

    我使用此选项,非常简单

  • 从上面的页面下载正确版本的godeb
  • /godeb安装
  • 这将从golang.org下载二进制版本,然后将其转换为.deb,然后安装它


    它是由Gustavo Niemeyer编写的,他为Canonical工作,曾在Launchpad中维护Go PPA,但为了支持它而放弃了它。所以我要说这是正式的

    谢谢你的快速帮助。我使用了GVM,它对我很有用。嗨,我看到错误是“error:ready installed!”,但每当我尝试“GVM install go1.7”时,它就会说:“-bash:GVM:command not found”。你见过这种行为吗?