编译器goland,版本2020、Go语言版本1.17。
下载源码:https://github.com/ethereum/go-ethereum
对于2020版本的Goland编译器不能使用1.18版本的go语言,因为会导致导入time包的报错,若使用1.16版本的go语言则go mod命令不能正常使用,会出现下面错误:
go mod tidy: go.mod file indicates go 1.17, but maximum supported version is 1.16
这是golang版本低导致的问题,需要升级到1.17版本。
进行编译
用Goland打开下载好的源码 ;
调整goland的setting;
需要设置的由GOROOT和GOPATH,GOROOT是本地go语言的环境,GOPATH里面存的是下载的依赖包存放的地方。
如果GOROOT显示添加错误,可以在下载的golang文件下的src\runtime\internal\sys中打开zversion.go,添加下面的语句:
const theVersion = go1.17.6
在控制台中输入go mod tidy来进行依赖包(以太坊源码中import的包)的下载;
然后打开cmd\geth\main.go文件,并进行以下设置,其中Name可以随便写,需要配置的是Directory和Output directory。其中Directory的路径是geth文件存放的路径、Output directory的路径是存放编译好的文件;
配置好之后点击开始来进行编译,下面是运行的结果;
本文章借鉴的文章:https://blog.csdn.net/xgocn/article/details/120109780
对大佬表示感谢。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)