TrueChain搭建开发环境我趟过的坑

栏目: Go · 发布时间: 5年前

内容简介:本环境为:Go + VS Code此篇为Windows环境篇,跨语言学习转GO语言开发,由于刚刚接触,在环境搭建的过程中就遇到了很多问题。网上有很多资料,大体思路能看明白,但是很多都没有很非常完整且详细的描述其中细节,导致过程中踩了不少坑,单独写下这篇经验,旨在介绍跳坑的方法,对于一些很基础的步骤请参考网上资料,基本大同小异。环境变量设置很关键,这一步没有解决好,接下来的步骤都会造成很大的影响,再一个Go插件包安装失败也是个问题,也是个问题。

本环境为:Go + VS Code

此篇为Windows环境篇,跨语言学习转 GO 语言开发,由于刚刚接触,在环境搭建的过程中就遇到了很多问题。网上有很多资料,大体思路能看明白,但是很多都没有很非常完整且详细的描述其中细节,导致过程中踩了不少坑,单独写下这篇经验,旨在介绍跳坑的方法,对于一些很基础的步骤请参考网上资料,基本大同小异。

环境变量设置很关键,这一步没有解决好,接下来的步骤都会造成很大的影响,再一个Go插件包安装失败也是个问题,也是个问题。

下载

我们此次切入的TrueChain区块链项目开发,go语言跨平台做的非常好,此项目goland语言版本需要在1.7+以上,我用的最新的 go version go1.10.3 windows/amd64

下载地址: https:// golang.org/dl/ ,需要搭梯子

注意:不能下载安装包的朋友需要另行搜索下载,网上很多帖子都有镜像下载,这里就不重复整理了。

安装

版本选择,go语言官方提供32位和64位的版本,不过基本都会选择64位的版本。

安装方式,安装包分为压缩版和安装版,区别在于安装版会自动配置环境变量, 坑就在这里了,自动配置环境变量,缺失了对go语言基本项目结构的理解,容易掉坑里面。 所以推荐压缩版本进行安装,或者msi版本安装之后重新配置环境变量。

默认会安装在 C:Go目录下,手动安装可以安装到此目录下,Go目录下有bin、src、doc等子目录,检查程序安装,接下来进行环境变量配置。

环境变量

打开环境变量设置面板,打开路径:(右击)我的电脑 - 属性 - 高级系统设置 - 环境变量,打开环境设置面板,我们直接设置系统变量,全局用户控制,可以根据用户设置环境变量(不推荐)。需要设计的环境变量有好几个,如下:

TrueChain搭建开发环境我趟过的坑

新增 GOROOT ,go语言的程序安装目录,前面已经安装到了  C:Go 目录,这里直接配置 C:Go 目录。

修改PATH变量,在末尾追加一条 %GOROOT%in ,这样子cmd命令go就可以使用了,打开cmd命令,执行 go version 命令,能输出版本信息,即安装成功。

注意:安装包安装会出现GOBIN环境变量,删除它,PATH变量 %GOROOT%in ,已经实现了GOBIN环境设置,这里会出现坑,可能会出现如下报错。

go get:cannot install cross-compiled binaries when GOBIN is set

环境变量:设置工作目录

go语言需要在环境变量中设置工作目录,工作目录就是存放代码的地方,这个目录需要配置环境变量中,变量名称须设置为 GOPATH ,变量路径值可以设置你任意的工作目录, 需要特别注意的是,go语言代码需要都放在这个工作目录下 ,Window系统不推荐放在系统盘。

新建 GOPATH ,我的go项目工作目录设置为 E:go_projects ,你可以更改为你自己的工作目录,这时候,你需要在设置的工作目录中创建如下文件夹。

.
├── bin
├── pkg
└── src

修改PATH变量,我们把工作目录中的bin目录添加进PATH中,追加 %GOPATH%/bin 记录,跟前面配置 %GOROOT%in 是一样的,这样我们就可以直接在工作目录中使用go开发程序了。

bin ,文件夹存放 go install 命名生成的可执行文件

pkg ,文件夹是存在go编译生成的文件。

src ,存放的是我们的go源代码,不同工程项目的代码以包名区分,一般已域名区分,这样子就不会重复,那对于我们一些新开发的项目有没有域名,这时候怎么办?推荐的方式是 %GOPATH%/src/github.com/你的账户名/项目名 ,在GitHub你的账户是唯一的,这样就保证了项目

Go从1.1版本到1.7必须设置这个变量,而且不能和Go的安装目录一样。

这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。

所以这个目录下面有三个子目录:src、bin、pkg

从go 1.8开始,GOPATH环境变量现在有一个默认值,如果它没有被设置。 它在Unix上默认为$HOME/go,在Windows上默认为%USERPROFILE%/go。

项目搭建

我们实战的是TrueChian,初链项目是基于水果链论文的工程实现,已这个项目切入区块链的开发。

TrueChain项目搭建,这里推荐我们社区开发小伙伴准备的另外一篇文章。

https:// github.com/truechain/wi ki/blob/master/developer/2.window_env_build.md

项目搭建,在此文中已经有比较详细的描述。

包安装的坑

这里聊一聊这里可能会面临的坑,IDE方面如果VS Code,需要安装go语言的开发扩展包,go项目会依赖一些项目包(插件),如果你已经解决这个问题请忽略以下内容。

VSCode设置

你更改了GOPATH环境变量之后,VSCode如果是在更改之前进行安装的话,这里面又会存在IDE环境变量设置问题

TrueChain搭建开发环境我趟过的坑

你需要更改这里的go-gopath设置以及go-goroot,更改之后如下:

  "go.goroot": "C:\Go",
  "go.gopath": "E:\go_projects",

安装go插件 工具

http:// github.com 目录下的goland目录中安装工具包, %GOPATH%srchttp://github.comgolang

git clone https://github.com/golang/tools.git tools

git克隆完成还会在golang目录中多了一个tools目录,里面包含了很多go插件汇总。

这时候,我们需要把tools目录的文件全部拷贝到 %GOPATH%srchttp://golang.orgx ools 目录中

为什么tools插件包需要放置两个路径目录中?

toolscmd中包含了很多的插件,这些插件的归属域名并不是都在 http:// github.com 域名下,有些插件在 http:// golang.org 域名下。

下载tools,进行本地安装,在VS Code执行 install all 安装之后,会提示哪些有些包安装失败,有部分成功(如果全部都失败了,那可能需要检测下环境变量了) 。

go install github.com/ramya-rao-a/go-outlinego install github.com/acroca/go-symbolsgo install github.com/cweill/gotests/gotests

检查包是否安装成功

%GOPATH%in 目录下检查是否安装有正确的包,如下图:

TrueChain搭建开发环境我趟过的坑

跑起来,还是报错

TrueChain搭建开发环境我趟过的坑
抱歉,还是报错!

项目初始化 -->运行

修改launch.json进行初始化,还有有错误,如下图:

TrueChain搭建开发环境我趟过的坑

这个错误需要删除缓存数据,

C:Users你的用户名AppDataRoamingEthereum

Ethereum:这个是对应的项目目录,如果clone不是这个版本,对应的目录名称是不一样的,删除即可

最后,按照配置运行起来

TrueChain搭建开发环境我趟过的坑
运行成功,挖矿啦~~~

以上所述就是小编给大家介绍的《TrueChain搭建开发环境我趟过的坑》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机和难解性

计算机和难解性

M.R 加里、D.S. 约翰逊 / 张立昂、沈泓 / 科学出版社 / 1987年 / 4.50

本书系统地介绍了NP完全性理论的概念和方法,全书共分为7章和两个附录。第一章粗略地介绍了计算复杂性的一些基本概念和NP完全性理论的意义。第二章至第五章介绍了NP完全性的基本理论和证明的方法。第六章集中研究NP难问题的近似算法。第七章概述了大量计算复杂性中的有关理论课题。 附录A收集了范围广泛、内容丰富的NP完全性和NP难的问题、附录B补充了NP问题的一些最新的进展,既有理论方面的,又有关于具体问题......一起来看看 《计算机和难解性》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换