Table of Contents
GO开发调试环境的搭建
安装Homebrew
安装go
安装vim
安装LideIDE
安装delve
安装gdlv
Geth源码获取及编译调试
获取
编译
Mac OS X的内核Darwin和Linux一样,都是类Unix系统,所以Mac和Linux的开发工具很多是通用的,可参考前一篇《Linux 下 Geth 开发调试环境的搭建》。这里重点讲一下Mac系统特有的部分。
通常我们说的环境,包括语言编译环境和代码编辑/查看/调试环境。
我们这里的推荐的工具是针对初学者的建议。工具无高下,喜好在个人:
Homebrew即macOS 缺失的软件包的管理器,详细的安装和使用帮助请参考官方网站:https://brew.sh/index_zh-cn
将以下命令粘贴至终端,并按提示操作即可:
usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install go
go环境变量设置
系统会指定默认环境变量$GOPATH
为~/go
,并且在必要的时候自动创建该目录。
添加环境变量并导入:
echo "export PATH=$PATH:$GOPATH/bin" >> ~/.bash_profile
source ~/.bash_profile
Mac会预装vim,如果对版本不满意,可以用brew install vim
重装,也可以根据源码来自定义编译。
具体设置请参考前一篇《Linux 下 Geth 开发调试环境的搭建》。
详细信息请参考:http://liteide.org/cn/
安装请参考:http://liteide.org/cn/doc/install/
下载地址:https://github.com/visualfc/liteide·/releases/latest
从上述地址找到macos版本压缩包(目前是 https://github.com/visualfc/liteide/releases/download/x35.1/liteidex35.1.macos-qt5.9.5.zip),下载压缩包并解压到/usr/local或者是$HOME
首次打开app会有安全警告提示,按提示操作即可。
delve是目前比较好用的一款命令行go调试器。
详细信息请参考:https://github.com/derekparker/delve
xcode-select --install
go get -u github.com/derekparker/delve/cmd/dlv
gdlv是dlv的图形化版本,可以用鼠标操作,对于习惯图形界面的同学会更友好。
详细信息请参考:https://github.com/aarzilli/gdlv
go get -u github.com/aarzilli/gdlv
建议使用go标准指令获取代码,默认的目录设置很方便后续的编译/调试。-v
参数只是为了让等待代码下载的过程更友好一些,不是必须的。
go get -u -v github.com/ethereum/go-ethereum
执行下列指令,会在当前目录下生成bin文件build/bin/geth
:
cd $GOPATH/src/github.com/ethereum/go-ethereum
make
或者执行下列指令,在当前目录下生成bin文件geth
:
cd $GOPATH/src/github.com/ethereum/go-ethereum
make
或者在任意目录下执行下列指令,在当前目录下生成bin文件geth
:
go build $GOPATH/src/github.com/ethereum/go-ethereum/cmd/geth
库异常
很可能会看到下列库异常,这是Mac系统的问题,可以直接忽略。对于有洁癖的同学,在stackoverflow上有一些可能有用的建议,可以消除该warning,但是一般还是建议忽略。
ld: warning: text-based stub file /System/Library/Frameworks//CoreServices.framework/CoreServices.tbd and library file /System/Library/Frameworks//CoreServices.framework/CoreServices are out of sync. Falling back to library file for linking.
后续请参考: https://xiaozhuanlan.com/topic/1896750342