Chocolatey是windows下的包管理器,相似ubuntu的apt,centos的yum。git
使用管理员权限打开命令行窗口,粘贴如下命令便可github
@"%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测试是否出现了版本号golang
接下来安装git golang及windows下的编译环境mingwshell
choco install gitubuntu
choco install golangwindows
choco install mingwcentos
实际使用的过程当中用mingw貌似有问题,编译通不过,会报如下错误bash
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默认的模板对cmd/geth/main.go文件进行debug,会报如下错误
如图所示,成功编译并运行至断点处。
以后就能够愉快地调试了 ^ ^