• 最简编译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工具

    http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/delve-1.7.2-1.module_el8.6.0+962+0036b8f3.x86_64.rpm

    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原因,还有就是作者邮箱不匹配,都可忽略,放心下一步探索即可。

  • 相关阅读:
    bzoj 1061 单纯形法,或转化网络流(待补)
    bzoj 1007 计算几何,单调栈
    bzoj 1015 并查集,离线
    bzoj 1013 高斯消元
    java类继承HttpServlet类实现Servlet程序出现405错误:HTTP method POST is not supported by this URL
    算法的特性和算法设计的要求
    Java实现自定义异常类
    怎么查看 MySQL 数据文件在当前电脑的存储位置
    数据结构的分类
    JS实现“全选”和"全不选"功能
  • 原文地址:https://www.cnblogs.com/fanzhenyong/p/15584978.html
Copyright © 2020-2023  润新知