一、前言

我们在上一篇已经明确了要安装的环境。上一篇刚安装完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

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

  1. 【以太坊】搭建测试网络之ubuntu系统安装node.js

    一.前言 在确认了要在本地搭建测试网络之后,那就不管什么私有链方面的东西了.俗话说万事开头难,博主这边了解到,搭建测试网络必须的环境主要是:node,golang,还有以太坊的geth客户端.OK,方 ...

  2. 【以太坊】搭建测试网络之ubuntu系统安装geth客户端以及同步区块数据

    一.前言 在前两天就开始研究这个geth客户端,奈何中间一直遇到各种各样的问题,最后总算是成功在服务器上安装geth并开始同步区块了.这里记录一下过程. 1.虚拟机配置问题 博主最开始用的是虚拟机,但 ...

  3. 以太坊Ropsten测试网合并意味着什么?

    本文来自 Twitter,原文作者:pastry & korpi. 6 月 8 日,以太坊 Ropsten 测试网完成合并.截至目前,以太坊主网权益证明(PoS)的过渡日期仍未确定,目前仅是基 ...

  4. 以太坊Sepolia测试网完成“合并” 进入收尾阶段?向Pos机制过渡迈出关键一步

    以太坊Sepolia测试网已于昨日完成合并,是主网合并前的主要测试工作之一,意味着以太坊区块链向Pos机制过渡目标迈出关键一步. 自2014年以来,以太坊联合创始人Vitalik Buterin一直在 ...

  5. 使用Ethereum C++ Aleth客户端创建具有两个同步节点的以太坊Ethereum私有网络

    Creating A Private Network With Two Syncing Nodes 本文是前面两篇文章的延续,链接分别为:Windows10安装Aleth和使用Ethereum C++ ...

  6. 以太坊搭建,不能使用puppeth 创建初始块,报错Fatal: Failed to write genesis block: unsupported fork ordering: eip15

    以太坊搭建,不能使用puppeth 创建初始块,报错Fatal: Failed to write genesis block: unsupported fork ordering: eip15 新建 ...

  7. 以太坊NFT二层网络之Immutable X(IMX)

    文章目录 以太坊NFT二层网络之Immutable X(IMX) 背景 什么是Immutable X(IMX) 为什么是 Ethereum,而不是一个不同的区块链(例如: Flow,Tron,EOS) ...

  8. 建立基于以太坊的私有网络和智能合约 1

    建立基于以太坊的私有网络和智能合约 本文欢迎转载,转载请标明出处 freewolf 资深IT从业者,关注微服务.区块链.敏捷开发.前端技术等,不是大神,只是出于热爱.有问题可以到 https://gi ...

  9. Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙(步步亲测有效)

    Windows重装系统+虚拟机virtuabox安装+ubuntu系统安装+linux环境下安装fsl 一条龙 零:综述 一.windows10系统的安装 1.准备工作 2.制作启动盘 3.修改启动设 ...

最新文章

  1. ES6转ES5:Gulp+Babel
  2. 即时大数据流处理=即时风暴
  3. 要想能安心,必须先死心。
  4. Scala 入门学习
  5. 登录phpmyadmin提示: #1045 无法登录 MySQL 服务器
  6. docker portainer_Docker可视化管理:Portainer中文版
  7. 解决Win7 64位安装 Microsoft .NET Framework 4 失败的情况
  8. vmvare虚拟机无法读取ntfs的U盘解决方法,以及更换镜像下载源
  9. 蒋涛:TUP,分享产品背后的技术和用户体验
  10. python中如何调用无参函数_python-无参函数
  11. OPenGL学习--库介绍
  12. 企业对接Walmart平台API流程(一)
  13. 高精度电子罗盘的应用场景
  14. VITA 57 FPGA 夹层卡(FMC)
  15. 人生顿悟之浮躁的心该静一静
  16. 开发自己的搜索引擎读书笔记——搜索引擎与信息检索、Lucene入门
  17. 天梵古法健康知识普及:足太阴脾经经穴
  18. PMP考试中涉及的敏捷项目管理补充资料
  19. 系统网络安全从良好意识习惯开始
  20. 最新—易优CMS免登录通用发布接口

热门文章

  1. linux命令查看cpu架构,Linux下如何查看CPU信息
  2. php es6写法,ES6...扩展运算符(示例代码)
  3. 困难样本挖掘(Online Hard Sample Mining)
  4. CUBLAS_STATUS_ALLOC_FAILED
  5. python 遍历删除
  6. python 局域网共享
  7. module 'thread' has no attribute
  8. errors_impl.InvalidArgumentError: Input to reshape is a tensor
  9. HashMap解决hash冲突的方法
  10. Failed to start OpenSSH server daemon