无法在Ubuntu

时间:2015-07-17 20:21:26

标签: ubuntu go installation

我在Mac上成功安装了这个,只是在Linux上遇到了麻烦。我正在关注他们的文档https://golang.org/doc/install。我正在运行64位机器,所以我下载了64位存档。下载后我运行

sudo tar -C /usr/local/ -xzf ~/Downloads/go1.4.2.linux-amd64.tar.gz

我在我的主文件夹中创建了一个go目录。我有结构

/home
--/chrism
----/go
------/src
------/pkg
------/bin

我将以下内容添加到/etc/profile。保存后我运行source /etc/profile

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go

src/中,我添加了一个目录git.mycompany.com,并在另一个名为test的目录中添加了该目录。在test/我制作了test.go并粘贴了上面教程中的代码块

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

当我运行go run test.go时,它会输出以下内容

chrism@ubuntu:~/go/src/git.mycompany.com/test$ go run test.go 
# fmt
Usage: pack op file.a [name....]
Where op is one of cprtx optionally followed by v for verbose output.
For compatibility with old Go build environments the op string grc is
accepted as a synonym for c.

For more information, run
    godoc cmd/pack
# runtime
Usage: pack op file.a [name....]
Where op is one of cprtx optionally followed by v for verbose output.
For compatibility with old Go build environments the op string grc is
accepted as a synonym for c.

For more information, run
    godoc cmd/pack

如果我在import语句中添加更多包,它也会输出所有这些包的文档。

编辑0: 我还尝试使用apt-get进行安装。我卸载并删除了以前的更改,然后安装。运行时会产生以下结果:

chrism@ubuntu:~/go/src/git.mycompany.com/test$ go run test.go 
go build fmt: exec: "/usr/local/go/pkg/tool/linux_amd64/pack": stat /usr/local/go/pkg/tool/linux_amd64/pack: no such file or directory
go build runtime: exec: "/usr/local/go/pkg/tool/linux_amd64/pack": stat /usr/local/go/pkg/tool/linux_amd64/pack: no such file or directory

编辑1: 这是运行go env

的输出
GOROOT="/usr/lib/go"
GOBIN=""
GOARCH="amd64"
GOCHAR="6"
GOOS="linux"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"

3 个答案:

答案 0 :(得分:7)

以下是我在Ubuntu系统中安装Go所遵循的步骤:

短版本: 1.运行以下命令进行安装:

sudo apt-get remove -y gccgo-go && wget http://golang.org/dl/go1.8.linux-amd64.tar.gz && sudo apt-get -y install gcc && sudo tar -C /usr/local -xzf go1.8.2.linux-amd64.tar.gz && echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.bashrc
  

注意:更改版本号以安装特定版本的Go。例如,要安装1.9而不是1.8,请将文件名更改为go1.9.linux-amd64.tar.gz。最新的Go发行版总是可以在the official Go downloads page

找到
  1. 设置工作场所。 (第6点)
  2. 长版:

    1. here下载二进制版本。使用go x.x.x.linux-amd64.tar.gz for ubuntu。 对于1.4.2版,您可以在终端中键入以下内容。

      wget http://golang.org/dl/go1.8.linux-amd64.tar.gz
      
    2. 为cgo安装gcc

      sudo apt-get install gcc 
      
    3. 在/ usr / local中提取tarball。它应该创建一个go目录。

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

      (通常这些命​​令必须以root身份或通过sudo运行。)

    4. 将/ usr / local / go / bin添加到PATH环境变量。

      gksu gedit ~/.bashrc
      
    5. 在文件末尾添加以下行

      export PATH=$PATH:/usr/local/go/bin
      
    6. 设置工作区

      一个。创建工作区目录名称放在首选位置(除非您使用默认的安装位置)。我正在使用/ home / vembu / work / projects / go

      mkdir -p /home/vembu/work/projects/go
      

      湾出口GOPATH

      gedit ~/.bashrc
      

      ℃。在最后一行添加以下行

      export GOPATH=/home/vembu/work/projects/go
      

      d。为方便起见,将工作区的bin子目录添加到PATH:

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

      即最后.bashrc的最后两行应该是这样的

      export GOPATH=/home/vembu/work/projects/go
      export PATH=/usr/local/go/bin:$GOPATH/bin:$PATH
      

      F。重启终端。

答案 1 :(得分:5)

这种方法是我通常在ubuntu机器上安装的方法,永远不会失败。希望它可以帮到你。

  1. 下载go

    wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz

  2. 提取到/ usr / local

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

  3. 添加这些行来修改〜/ .bashrc

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

    export GOPATH=$HOME/go

    export GOBIN=$GOPATH/bin

    export PATH=$PATH:$GOPATH/bin

  4. 保存并重新加载来源

    source ~/.bashrc

  5. 验证安装

    go env

  6. 创建go目录

    mkdir ~/go

  7. 尝试获取一些软件包

    go get github.com/smartystreets/goconvey

  8. 修改

    我创建了一个bash脚本,可以自动为您完成上述操作。它总是指向最新的版本,所以要小心。

    wget -O - https://raw.githubusercontent.com/mauleyzaola/scripts/master/go/go.install.sh | sh

    然后,只需重新加载.bashrc

    source ~/.bashrc

答案 2 :(得分:0)

您选择了系统范围的安装,因此可以从以下export GOPATH=$HOME/go源中删除以下行:/etc/profile。您提到的所有其他步骤完全没有必要。而且,您将需要重新启动计算机,而不是像先前的答案所述那样重新启动终端。因此,最后,您要做的就是仔细遵循官方文档本身中提到的步骤。