作者: madcoder 原文来源:https://tidb.net/blog/b983bf5d
TiDB 是一个优秀的开源项目,在学习其核心架构和原理后,想必有小伙伴也想看看代码的具体实现,官方也贴心的给出了环境部署文档 。这里抛砖引玉,详细介绍如何搭建和调试 TiDB 环境 – 以 PD 为例。
1. 安装 VSCode
vscode  安装就不累述了,聪明的读者一定都会。需要注意的是需要在 VSCode 中安装 Remote Explorer 插件。
2. WSL 安装 Ubuntu
你可以通过以下命令查看可安装的 Ubuntu 版本:
选择你需要的版本进行安装,例如:
 wsl.exe --install Ubuntu-22.04
       复制代码
 
安装完成后,添加软件来源:
 sudo vim /etc/apt/sources.listdeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiversesudo apt-get updatesudo apt-get install golang-go 
       复制代码
 
注意:这里 jammy 对应的是 Ubuntu-22.04,如果你使用的是 Ubuntu 20.04,那么你应该使用 focal;是 Ubuntu 18.04,那么你应该使用 bionic。sudo apt-get install golang-go  这里主要安装一些第三方库编译时的依赖,比如:github.com/goccy/go-graphviz\@v0.0.9/internal/ccall。
下载 pd 源码:git clone https://github.com/tikv/pd.git
3. 安装 Go 环境
下载并解压Go 安装包 :
 tar -C /usr/local -xvf go1.22.3.linux-amd64.tar.gz
       复制代码
 
设置环境变量:
 export PATH=$PATH:/usr/local/go/bin #/etc/profilego env -w GOPROXY=https://goproxy.cn,direct
       复制代码
 4. 安装 dlv 调试工具
 go install github.com/go-delve/delve/cmd/dlv@latestmv $GOPATH/go/bin/* /usr/local/go
       复制代码
 
检查环境:
 xxx@DESKTOP-MDMMJR5:~/go/bin$ dlv versionDelve DebuggerVersion: 1.22.1Build: $Id: 0c3470054da6feac5f6dcf3e3e5144a64f7a9a48 $xxx@DESKTOP-MDMMJR5:~/go/bin$ go versiongo version go1.22.3 linux/amd64xxx@DESKTOP-MDMMJR5:~/go/bin$ go envGO111MODULE=''GOARCH='amd64'
       复制代码
 
最后,按 F5 键提示安装一些调试工具,点击 ”install all” 即可。
 2024-05-15 22:59:31.572 [info] Tools environment: GOPATH=/home/xxx/go2024-05-15 22:59:31.573 [info] Installing 5 tools at /home/xxx/go/bin2024-05-15 22:59:31.573 [info]   gopls2024-05-15 22:59:31.573 [info]   gotests2024-05-15 22:59:31.573 [info]   gomodifytags2024-05-15 22:59:31.573 [info]   impl2024-05-15 22:59:31.573 [info]   goplay
       复制代码
 5. 调试截图
环境部署过程有什么问题,欢迎留言讨论,你的问题可能也是别人的问题,抛出问题你就已经领先一步啦 ^-^。
评论