最简编译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 ...
随机推荐
- Sealos 是企业节省成本的终极武器
本文通过多维度,多场景对比来阐述 Sealos 为企业节省大量成本,结合一些现有客户具体的实际情况全面分析成本模型,企业可以根据自己的实际情况来对号入座,看是否适合使用 Sealos. 云操作系统节省 ...
- 通过python获取SSL证书到期时间
在前面的文章中曾介绍过如何通过openssl命令获取SSL证书的到期时间:通过zabbix监控ssl证书到期时间. 有人反馈实践中这种方式存在缺陷,可能会出现部分域名证书无法获取的情况,报错如下: 1 ...
- Idea编译/运行Java程序慢
修改前: 修改后: 参考: https://www.jjput.com/archives/macbookpro14m1mavenslowcompilation 问题 JDK尽量不要换版本 class ...
- 2023山东省“技能兴鲁”职业技能大赛-学生组初赛wp
PWN pwn1 c++ pwn,cin 直接相当于 gets 了,程序有后门,保护基本没开,在 change 的最后一个输入点改掉返回地址为后门地址即可 from pwn import * cont ...
- Kotlin 快速遍历File及子目录筛选指定类型文件
原文: Kotlin 快速遍历File及子目录筛选指定类型文件 - Stars-One的杂货小窝 在做文件相关的app,经常会遇到筛选某个文件夹下的符合条件的文件对象,且要包含子文件夹,之前一直是自己 ...
- Jitpack发布Android库出现Direct local .aar file dependencies are not supported when building an AAR
原文:Jitpack发布Android库出现Direct local .aar file dependencies are not supported when building an AAR - S ...
- 快速将json装DTO的GsonFormatPlus插件使用
参考:https://www.jianshu.com/p/8fb0e4274436 https://blog.csdn.net/qq_43039260/article/details/12676582 ...
- 安装libevent
1.在libevent官网(http://libevent.org/)上下载压缩包(我下载的是libevent-2.1.8-stable.tar.gz) 2.解压压缩包:tar -zxvf libev ...
- drf(初始drf,restfull规范 ,CBV、APIView、Request源码)
一 web开发模式 # 前后端混合开发(前后端不分离):通过模版语法,在服务器上处理好html的内容(组合字符串),返回给浏览器一堆字符串(字符串封装到respons对象里),浏览器在渲染 # 前后端 ...
- .Net MinimalApis响应返回值
前言 文本主要讲 MinimalApis 中的使用自定义IResultModel和系统自带IResult做响应返回值. MinimalApis支持以下类型的返回值: string - 这包括 Task ...