A-A+

如何在CentOS 7上安装最新Go

2018年09月19日 23:48 汪洋大海 暂无评论 共3303字 (阅读1,882 views次)

一、安装&配置

官方下载包(一般需要梯子) https://golang.org/dl/

wget  https://dl.google.com/go/go1.11.linux-amd64.tar.gz
  1. 解压文件到 /usr/local目录
  2. 将Go的安装包解压缩到/usr/local目录中。使用tar命令并带有-C参数的命令可将内容保存到指定目录中。该-x标志执行提取功能,-v生成详细输出,-z通过gzip压缩实用程序过滤存档,并-f告诉它指定的文件名以执行以下操作:注意:发布者正式建议将Go放在/usr/local目录中。在另一个位置安装它不会影响其可用性,但需要在Go环境变量中定义自定义路径GOROOT。
tar zxvf go1.11.linux-amd64.tar.gz -C /usr/local
  1. 创建GOPATH目录
mkdir -p /home/gopath
  1. 配置环境变量
vim /etc/profile

新增下面配置到文件(GOROOT、GOBIN、GOPATH,PATH追加GOBIN)

export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=/home/gopath
  1. 使配置生效
source /etc/profile
  1. 查看golang版本测试
go version

  1. 安装后完整目录

二、国际惯例helloworld

  1. 创建hello.go文件
cd /home/gopath
vim hello.go
  1. helloword代码
package main
import "fmt"
func main() {
    fmt.Println("Hello, 世界")
}
  1. 运行hello.go
go run hello.go

 

--------------------方法二----------------------------

下载并解压

  • 下载
[root@localhost soft]# wget -c https://dl.google.com/go/go1.11.linux-amd64.tar.gz
  • 解压

将源码包解压后直接放到 /usr/local 目录下, 不用再次 make && make install 来安装了, 开箱即用

[root@localhost soft]# tar -C /usr/local/ -zxvf  go1.11.linux-amd64.tar.gz 

添加系统环境变量

  • 创建新文件并打开
[root@localhost soft]# vim /etc/profile.d/go.sh
  • 输入以下内容

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



:wq!
  • 立即生效环境变量
[root@localhost soft]# source /etc/profile.d/go.sh

你可能会说这么添加环境变量, 多不快捷啊!当然你也可以直接在shell中输入以下内容:

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

但就个人认为我这个方法来是比较不错的, 编译一个软件需要添加一个文件,

然后 source 一下导入到当前软件需要添加的环境变量到系统$PATH中, 每一个人都有一个强迫症的习惯吧!

那好, 请尊重自己好了~~~

再在好了, 你可能在shell的任何位置输入 go 命令了!

添加GOPATH目录

添加GOPATH和添加环境变量没有本质的区别就是作用不一样罢了

创建工作路径

创建一个工作目录, 这个目录就是你以后开发学习go语言的主要战场了, 如在用户家目录创建这样一个目录 dev/go

[root@localhost ~]# mkdir -p ~/dev/go

添加这个目录路径作为GOPATH

  • 创建一个环境变量文件 gopath.sh 并打开
[root@localhost ~]# vim /etc/profile.d/gopath.sh
  • 输入GOPATH具体指向位置
export GOPATH=/root/dev/go
  • 保存退出
:wq!
  • 立即生效这个GOPATH环境变量
[root@localhost ~]# source /etc/profile.d/gopath.sh 
  • 验证GOPATH环境变量是否添加成功
[root@localhost ~]# echo $GOPATH
/root/dev/go

OK, 那么这个GOPATH环境变量也就添加完成了

运算GO环境测试

  • 创建测试文件 hello_world.go
[root@localhost ~]# vim ~/dev/go/hello_world.go
  • 编辑文件
package main

import (
    "fmt"
)

func main() {
    fmt.Println( "Hello world!" )
}
  • 运算测试文件 hello_world.go
[root@localhost ~]# go run ~/dev/go/hello_world.go 
Hello world!

 

go get下载其他第三方包的时候golang.org 不能访问解决方法:

安装命令:go get golang.org/x/tools/cmd/oracle,错误提示:packagegolang.org/x/tools/cmd/oracle: unrecognized import path "golang.org/x/tools/cmd/oracle"

因为golang.org被墙的原因,可以使用github.com/golang/tools/,和 golang.org/x/tools 是一样的。

将GitHub.com目录下的文件复制或建立一个软连接到golang.org/x/tools下,即可安装。

由于国内网络原因,因此访问https://golang.org/网站会被限制。所以在go get下载其他第三方包的时候,如果这个第三方包又引用了https://golang.org/x/下的包,通常会下载失败,就会报这个错误

package golang.org/x/crypto/ssh/terminal: unrecognized import path "golang.org/x/crypto/ssh/terminal" (https fetch: Get https://golang.org/x/crypto/ssh/terminal?go-get=1: dial tcp 216.239.37.1:443: getsockopt: connection refused)

package golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys/unix" (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 216.239.37.1:443: getsockopt: connection refused)

解决方法:

首先去:https://go.googlesource.com/tools/+/master 找到你需要的安装包,下载 然后 到目录后 您也可以手动git克隆存储库$GOPATH/src/golang.org/x/tools。

cd $GOPATH/src
git clone https://github.com/MXi4oyu/golang.org.git

文章来源:

https://blog.csdn.net/wanchaopeng/article/details/80825170

https://blog.csdn.net/shida_csdn/article/details/79441694

https://curder.gitbooks.io/blog/content/go/how-to-install-go-lang-on-centos-7.html

https://blog.csdn.net/warnerwu/article/details/73825105

 

需要的GO的各种库:

https://godoc.org/-/subrepo

https://go.googlesource.com/tools/+/master

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言