用Chocolatey安装go ethereum
Chocolatey是windows下的包管理器,类似ubuntu的apt,centos的yum。
使用管理员权限打开命令行窗口,粘贴以下命令即可
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
安装完输入choco测试是否出现了版本号
接下啦安装git golang及windows下的编译环境mingw
choco install git
choco install golang
choco install mingw
编译环境的问题
实际使用的过程中用mingw貌似有问题,编译通不过,会报以下错误
go build runtime/cgo: C:\Go\pkg\tool\windows_amd64\cgo.exe: exit status 2
后来google一番,mingw最新更新的时间还是2017年,比较老了。 mingw-w64是在它基础上改进的项目,最新更新的时间是3天前,并且网上都推荐使用这个。
下载地址:https://sourceforge.net/projects/mingw-w64/
安装的时候注意选择x86-64的架构:
安装完了,键入gcc -v查看版本信息
设置环境变量并checkout go-ethereum源码
C:\Users\xxx> set "GOPATH=%USERPROFILE%"
C:\Users\xxx> set "Path=%USERPROFILE%\bin;%Path%"
C:\Users\xxx> setx GOPATH "%GOPATH%"
C:\Users\xxx> setx Path "%Path%"
C:\Users\xxx> mkdir src\github.com\ethereum
C:\Users\xxx> git clone https://github.com/ethereum/go-ethereum src\github.com\ethereum\go-ethereum
C:\Users\xxx> cd src\github.com\ethereum\go-ethereum
C:\Users\xxx> go get -u -v golang.org/x/net/context
使用以下命令安装
C:\Users\xxx\src\github.com\ethereum\go-ethereum> go install -v ./cmd/...
最后会在GOPATH的bin目录下生成二进制geth.
GoLand调试
开始是按goland默认的模板对cmd/geth/main.go文件进行debug,会报以下错误
后来发现不能debug file,要debug package,如图所示,run kind 指定为package:
如图所示,成功编译并运行至断点处。
之后就可以愉快地调试了 ^ ^
有疑问加站长微信联系(非本文作者)