无法在Ubuntu上正确安装Go

Chr*_*ris 9 installation ubuntu go

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

sudo tar -C /usr/local/ -xzf ~/Downloads/go1.4.2.linux-amd64.tar.gz
Run Code Online (Sandbox Code Playgroud)

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

/home
--/chrism
----/go
------/src
------/pkg
------/bin
Run Code Online (Sandbox Code Playgroud)

我添加以下内容/etc/profile.保存后我跑了source /etc/profile

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
Run Code Online (Sandbox Code Playgroud)

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

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}
Run Code Online (Sandbox Code Playgroud)

当我跑步时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
Run Code Online (Sandbox Code Playgroud)

如果我向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
Run Code Online (Sandbox Code Playgroud)

编辑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"
Run Code Online (Sandbox Code Playgroud)

May*_*tel 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
Run Code Online (Sandbox Code Playgroud)

注意:更改版本号以安装特定版本的Go.例如,要安装1.9而不是1.8,请将文件名更改为go1.9.linux-amd64.tar.gz.最新的Go发行版总是可以在Go官方下载页面找到

  1. 设置工作场所 (第6点)

长版:

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

    wget http://golang.org/dl/go1.8.linux-amd64.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)
  2. 为cgo安装gcc

    sudo apt-get install gcc 
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在/ usr/local中提取tarball.它应该创建一个go目录.

    tar -C /usr/local -xzf go1.8.linux-amd64.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)

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

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

    gksu gedit ~/.bashrc
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在文件末尾添加以下行

    export PATH=$PATH:/usr/local/go/bin
    
    Run Code Online (Sandbox Code Playgroud)
  6. 设置工作区

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

    mkdir -p /home/vembu/work/projects/go
    
    Run Code Online (Sandbox Code Playgroud)

    湾 出口GOPATH

    gedit ~/.bashrc
    
    Run Code Online (Sandbox Code Playgroud)

    C.在倒数第二行添加以下行

    export GOPATH=/home/vembu/work/projects/go
    
    Run Code Online (Sandbox Code Playgroud)

    d.为方便起见,将工作空间的bin子目录添加到PATH中:

    export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin
    
    Run Code Online (Sandbox Code Playgroud)

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

    export GOPATH=/home/vembu/work/projects/go
    export PATH=/usr/local/go/bin:$GOPATH/bin:$PATH
    
    Run Code Online (Sandbox Code Playgroud)

    F.重启终端.


cof*_*kid 5

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

  1. 下载去

    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

编辑

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

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

然后,重新加载 .bashrc

source ~/.bashrc