windows下go ethereum安装与goland调试

袁耀
2023-12-01

用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天前,并且网上都推荐使用这个。

下载地址:sourceforge.net/projects/mi… 安装的时候注意选择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:

如图所示,成功编译并运行至断点处。

之后就可以愉快地调试了 ^ ^

 类似资料: