最简编译CockroachDB 21.2
编译CockroachDB比较麻烦,尤其是从git下载代码编译还需要关联项目的下载,本文整理从官网下载代码的编译过程,非常简单,几乎没有异常,供大家参考。
编译CockroachDB 21.2
1、安装Centos 8.5 虚拟机
- 服务器类型选择Server,在软件包集合中选中“Performance Tools”和“Development Tools”
- 设置网络并启动网络时间服务
- 设置ISO文件为软件源
- 简化安全选项:关闭和禁用firewalld服务,禁用selinux
2、准备开发环境
2.1、安装go开发环境
从go官网 https://golang.google.cn/dl/ 下载最新go版本 1.17.3
tar -xf tools/go1.17.3.linux-amd64.tar.gz -C .
编辑 .bash_profile 设置环境变量
export GOROOT=$HOME/go
export GOBIN=$HOME/go/bin
export GOPATH=$HOME/works
export PATH=$HOME/works/src/github.com/cockroachdb/cockroach/:$GOBIN:$PATH
export GOPROXY=https://goproxy.io,direct
export GOARCH=amd64
export CGO_ENABLED=1
执行source .bash_profile后验证
$ go version
go version go1.17.3 linux/amd64
2.2、安装go 调试工具
下载对应go 1.17的delve工具
2.3、安装nodejs和yarn
cockroachdb自带http服务,编译时需要nodejs和yarn,ISO中带有NodeJs,也可以从镜像站点下载最新版本并安装,如:
https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/nodejs-16.8.0-1.module_el8.6.0+928+039f010b.x86_64.rpm
https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/nodejs-docs-16.8.0-1.module_el8.6.0+928+039f010b.noarch.rpm
https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/nodejs-full-i18n-16.8.0-1.module_el8.6.0+928+039f010b.x86_64.rpm
https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/npm-7.21.0-1.16.8.0.1.module_el8.6.0+928+039f010b.x86_64.rpm
注:如果下载404失败,一般是版本更新了,打开网页https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/,更正链接即可
验证
$node --version
v16.8.0 $npm --version
7.21.0
设置代理
$npm config set registry http://registry.npm.taobao.org/
验证
$npm get registry
http://registry.npm.taobao.org/
安装yarn
$npm install -g yarn
安装
$yarn --version
1.22.17
设置yarn代理
$yarn config set registry http://registry.npm.taobao.org/
验证
$yarn config get registry
http://registry.npm.taobao.org/
2.4、安装其他依赖库
yum install cmake ncurses-devel -y
3、编译cockroachdb源码
3.1、准备源码
为了避免从github下载各种依赖包的麻烦,采用从官网下载源码编译
https://binaries.cockroachdb.com/cockroach-v21.2.0.src.tgz
tar -xf ~/tools/cockroach-v21.2.0.src.tgz -C ~/works/
cd works
mv cockroach-v21.2.0/* .
rm cockroach-v21.2.0 -rf
3.2、编译
cockroach-v21.2.0 首次编译时不会编译ui,最简单的方式就touch ui下的随便一个文件就好
cd src/github.com/cockroachdb/cockroach
touch pkg/ui/workspaces/db-console/src/app.tsx
然后编译
make build
简单验证
$cockroach version
Build Tag: v21.2.0
Build Time: 2021/11/21 07:09:43
Distribution: CCL
Platform: linux amd64 (x86_64-redhat-linux)
Go Version: go1.17.3
C Compiler: gcc 8.5.0 20210514 (Red Hat 8.5.0-3)
Build Commit ID: 79e5979416cb426092a83beff0be1c20aebf84c6
Build Type: development
单元测试
make test
在编译的最后生成文档节点会报:fatal: not a git repository (or any of the parent directories): .git
在单元测试中有几个用例会报错,也是git原因,还有就是作者邮箱不匹配,都可忽略,放心下一步探索即可。
最简编译CockroachDB 21.2的更多相关文章
- clang8.0及以上编译rocks问题
升级了MacOS 10.15 Beta版,结果编译 CockroachDB 遇到了问题. [ %] Building CXX object CMakeFiles/rocksdb.dir/db/buil ...
- opencv 相关一个很好的博客
http://blog.csdn.net/zouxy09/article/category/1218765 图像卷积与滤波的一些知识点 图像卷积与滤波的一些知识点zouxy09@qq.comhttp: ...
- 《深入理解Android内核设计思想》
<深入理解Android内核设计思想> 基本信息 作者: 林学森 出版社:人民邮电出版社 ISBN:9787115348418 上架时间:2014-4-25 出版日期:2014 年5月 开 ...
- 本书版权输出到台湾地区,《深入理解Android内核设计思想》诚挚感谢大家一直以来的支持!
- Atitit.attilax软件研发与项目管理之道
Atitit.attilax软件研发与项目管理之道 1. 前言4 2. 鸣谢4 3. Genesis 创世记4 4. 软件发展史4 5. 箴言4 6. 使徒行传 4 7. attilax书 4 8. ...
- Java虚拟机3:常用JVM命令参数
之后写的东西就会用到虚拟机参数了,现在这里汇个总自己平时用到的.看到的一些虚拟机参数.现在看不懂没关系,反正之后都会用到的: (1)-Xms20M 表示设置堆容量的最小值为20M,必须以M为单位 (2 ...
- Unity3D所使用的第三方工具
前言 最近在研究Unity3D的结构和原理.关于Unity3D怎么用之类的教程在网上一找一大堆,想看教程之类的就不用看这篇文章了.我想做的是从使用Unity3D所看到的表象(表),摸透其设计原则和组织 ...
- 《Cocos2d-x实战 C++卷》上线了-源码-样章-感谢大家的支持
<Cocos2d-x实战 C++卷>上线了 感谢大家一直以来的支持! 全面介绍Cocos开发技巧,采用Cocos2d-x3.2版本,并且详细介绍跨平台移植已经多平台发布细节. · 各大商店 ...
- Debian 7 安装 Emacs 24.3
Emacs 24.3出来好久了,但是在Debian 7里还是Emacs 23的版本. 以下是安装步骤(9步): -dev libncurses5-dev autoconf automake texin ...
- Codeforces Round #232 (Div. 1)
这次运气比较好,做出两题.本来是冲着第3题可以cdq分治做的,却没想出来,明天再想好了. A. On Number of Decompositions into Multipliers 题意:n个数a ...
随机推荐
- Sagas论文原文读后总结
一.引子 分布式事务组件seata最近社区很活跃,刚好公司有对接seata的计划.刚好借此机会,彻底了解下seata的价值.其中有一个比较特殊的模式叫SAGA模式,听起来就很懵逼,按照官网的介绍起源于 ...
- GoFrame 优化接口的错误码和异常的思路
前言 你是否想在使用 GoFrame 的过程中,拥有一个能打印异常堆栈,能自定义响应状态码,能统一处理响应数据的接口.如果你回答是,那么,请耐心看完本文,或许会对你有所启发.若文中由表达不当之处,恳请 ...
- Android WebView获取html源码
通过执行js语句来获取 val code = """ document.documentElement.outerHTML """.trim ...
- 记录--我在前端干工地(three.js)
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Three.js后,试着用他加载了一些模型three.js初体验简陋的了解了一下three.js的相关使用,并且写下了第一篇 ...
- 记录--uni-app中安卓包检查更新、新版本下载、下载进度条显示功能实现
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 需求描述 如果想要做一个app的话,可以有很多种选择方案,uni-app是其中的一个性价比高一些(坑多一些)的方案.本文记录一下,uni- ...
- elasticsearch聚合桶排序、分页实战
很多时候业务上需要分组排序分页的场景,类似于mysql的group by xxx limit 0 10.so,当数据同步到es后,相同的需求场景也出现了.背景:商品根据商品销量排序,销量数据是以sku ...
- C# Demo 资源汇总
1.OCR 相关OCRService Onnx版 https://lw112190.blog.csdn.net/article/details/132082357 OCRService Sdcb.Pa ...
- matlab的基本操作
matlab的基本操作 1.写在前面 最近在处理一些作业时用到了matlab,发现以前学习的语句已经忘得差不多了.现在找到以前的学习资料,重新复习一下.顺便总结一下知识点,以免下一次使用时又忘记了而又 ...
- ATSS : 目标检测的自适应正负anchor选择,很扎实的trick | CVPR 2020
论文指出one-stage anchor-based和center-based anchor-free检测算法间的差异主要来自于正负样本的选择,基于此提出ATSS(Adaptive Training ...
- 在 kubernetes 环境下如何优雅扩缩容 Pulsar
背景 在整个大环境的降本增效的熏陶下,我们也不得不做好应对方案. 根据对线上流量.存储以及系统资源的占用,发现我们的 Pulsar 集群有许多的冗余,所以考虑进行缩容从而减少资源浪费,最终也能省一些费 ...