Mac下Go ethereum 开发调试环境的搭建

Table of Contents

GO开发调试环境的搭建

安装Homebrew

安装go

安装vim

安装LideIDE

安装delve

安装gdlv

Geth源码获取及编译调试

获取

编译

 


Mac OS X的内核Darwin和Linux一样,都是类Unix系统,所以Mac和Linux的开发工具很多是通用的,可参考前一篇《Linux 下 Geth 开发调试环境的搭建》。这里重点讲一下Mac系统特有的部分。

通常我们说的环境,包括语言编译环境和代码编辑/查看/调试环境。

我们这里的推荐的工具是针对初学者的建议。工具无高下,喜好在个人:

  1. 编辑:vim/LiteIDE
  2. 调试:dlv/gdlv

GO开发调试环境的搭建

安装Homebrew

Homebrew即macOS 缺失的软件包的管理器,详细的安装和使用帮助请参考官方网站:https://brew.sh/index_zh-cn

将以下命令粘贴至终端,并按提示操作即可:

 
usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装go

 
brew install go

go环境变量设置

系统会指定默认环境变量$GOPATH~/go,并且在必要的时候自动创建该目录。

添加环境变量并导入:

echo "export PATH=$PATH:$GOPATH/bin" >> ~/.bash_profile

source ~/.bash_profile

安装vim

Mac会预装vim,如果对版本不满意,可以用brew install vim重装,也可以根据源码来自定义编译。

具体设置请参考前一篇《Linux 下 Geth 开发调试环境的搭建》。

安装LideIDE

详细信息请参考: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

delve是目前比较好用的一款命令行go调试器。

详细信息请参考:https://github.com/derekparker/delve

xcode-select --install

go get -u github.com/derekparker/delve/cmd/dlv

安装gdlv

gdlv是dlv的图形化版本,可以用鼠标操作,对于习惯图形界面的同学会更友好。

详细信息请参考:https://github.com/aarzilli/gdlv

go get -u github.com/aarzilli/gdlv

Geth源码获取及编译调试

获取

建议使用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

 

你可能感兴趣的:(区块链)