【以太坊】搭建测试网络之ubuntu系统安装golang环境以及helloworld

一、前言

      我们在上一篇已经明确了要安装的环境。上一篇刚安装完node,这篇文章主要安装golang的环境。

环境:本地VM虚拟机+ubuntu 14.04

二、网上的几种安装方式

1、直接通过wget下载golang官网的文件

//下载
wget https://storage.googleapis.com/golang/go1.10.3.linux-amd64.tar.gz
//解压
tar zxvf go1.9.3.linux-amd64.tar.gz  
//移动go到/usr/local下
mv go /usr/local/

       这种方式,我在我本地是跑不动的,好像是需要翻墙代理,,根本访问不到官方网站。各位小伙伴有vpn的可以通过这种方式安装。解压之后需要配置环境变量,咱们下面再说。

2、使用gvm安装

      首先gvm是golang版本管理器,可以通过gvm下载golang,据说是可以直接配置好环境的,然而在我这里还是不行,被墙了。有VPN的小伙伴可以试试下面这个链接:

https://blog.csdn.net/seven_anon/article/details/78128352

3、最靠谱的安装方式

(1)通过去go的中文官网下载最新的程序包,记得要下载tar.gz的包,我这边下载的是:

go1.10.3.linux-amd64.tar.gz

(2)上传到服务器解压

      这部分需要用ftp工具连接到咱们的虚拟机。虚拟机默认是不允许root远程连接的,大家可以修改一下配置文件,具体的百度即可。

sudo tar zxvf go1.10.3.linux-amd64.tar.gz 

(3)解压之后移动go到/usr/local下

mv go /usr/local/

(4)修改环境变量

      由于博主是ubuntu 14.04,所以是去/etc/environment下修改。我看有的文章是去/etc/profile中修改,可能是版本不同的原因,这部分大家自己根据自己的系统来修改。

新增代码:

//在配置文件中新增
 export PATH=$PATH:/usr/local/go/bin
 //新增之后重新刷新下环境变量
 source /etc/environment 

(5)查看go的版本

go version

版本显示成功的话,咱们就算安装好go的环境了。

三、关于go的使用,hello world

1、新建go的工作空间

GO代码必须在工作空间内。工作空间是一个目录,其中包含三个子目录:

src ---- 里面每一个子目录,就是一个包。包内是Go的源码文件
pkg ---- 编译后生成的,包的目标文件
bin ---- 生成的可执行文件。

      这里,我们在/var目录下, 建立一个名为go(可以不是go, 任意名字都可以)的文件夹,
然后再建立三个子文件夹(子文件夹名必须为src、pkg、bin)。

2、设置GOPATH指向工作空间

打开 /etc/environment

//在配置文件中新增.这部分后面的/var/go是你自己建立go的工作空间的文件路径
 export GOPATH=/var/go
 //新增之后重新刷新下环境变量
 source /etc/environment 

3、新建项目

(1)、在src下新建项目包

//我本地的目录是
/src/test/first
//在first目录下新建一个hello.go文件,加入代码
package main
import "fmt"
func main() { 
    fmt.Printf("Hello, world.\n")
} 

(2)、编译go文件

1)通过GOPATH的方式编译
//这部分是可以运行在任意位置的,不一定非得在项目目录中运行。因为我们上面设置的gopath是指向工作空间的src的,所以可以直接从src目录下重新开始计算编译文件的目录
go install /test/first
2)项目目录中编译
//去 /var/go/src/test/first 目录下执行
go install
//不报错则代表编译成功

      注意,在编译生成go程序的时,go实际上会去两个地方找程序包:
GOROOT下的src文件夹下,以及GOPATH下的src文件夹下。
在程序包里,自动找main包的main函数作为程序入口,然后进行编译。

3)查看生成的文件

去我们工作空间的bin目录下,我们会看到一个hello的可执行文件

//执行下面的命令,我们会看到命令行中打印出了我们的hello world
./hello

此处参考链接:https://blog.csdn.net/chenggong2dm/article/details/49337177

      此前对go一直都不熟悉,所以安装和编译的时候也是犯了很多错。不过幸好没出什么大的差错。此时我们已经把node和go的环境都编译好了,下章将安装以太坊的geth客户端。

end

猜你喜欢

转载自blog.csdn.net/LJFPHP/article/details/81044500