这里主要介绍 tidb server 的编译, ti kv 和 ti pd 的编译不在本文范围内;

go 语言 1.11 版本之后支持 go.mod,  依赖包在 go.mod 里生成, 如果 go.mod 中某个依赖包在 golang.org 上, 下载和编译依赖包会出错,因为 go 语言的官网 golang.org 在大陆无法访问, 我们可以用 replace 语法来替换依赖包的路径, 手工修改 go.mod 文件, 用 github 上的镜像代替;

例如:

require (

......

golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e

......

replace (

golang.org/x/net => github.com/golang/net v0.0.0-20190108225652-1e06a53dbb7e

)

红色部分是依赖包的版本号, 需要和 require 里面的包版本号一致;

假设我们的 tidb server 的代码在 $GOPATH/xxx/github.com/pingcap/tidb/ 目录;

用 notepad++ 打开 $GOPATH/xxx/github.com/pingcap/tidb/  下的 go.mod, 在后面直接添加:

replace (

go.uber.org/atomic v1.3.2 => github.com/uber-go/atomic v1.3.2

go.uber.org/zap v1.9.1 => github.com/uber-go/zap  v1.9.1

golang.org/x/net => github.com/golang/net v0.0.0-20190108225652-1e06a53dbb7e

golang.org/x/sys => github.com/golang/sys v0.0.0-20190109145017-48ac38b7c8cb

golang.org/x/text => github.com/golang/text v0.3.0

golang.org/x/time => github.com/golang/time v0.0.0-20190308202827-9d24e82272b4

golang.org/x/tools => github.com/golang/tools v0.0.0-20190130214255-bb1329dc71a0

golang.org/x/lint => github.com/golang/lint v0.0.0-20181026193005-c67002cb31c3

golang.org/x/sync => github.com/golang/sync v0.0.0-20181221193216-37e7f081c4d4

golang.org/x/oauth2 => github.com/golang/oauth2 v0.0.0-20180821212333-d2e6202438be

golang.org/x/crypto => github.com/golang/crypto v0.0.0-20180904163835-0709b304e793

google.golang.org/genproto => github.com/google/go-genproto v0.0.0-20190108161440-ae2f86662275

google.golang.org/grpc => github.com/grpc/grpc-go v1.17.0

google.golang.org/appengine => github.com/golang/appengine v1.1.0

cloud.google.com/go => github.com/googleapis/google-cloud-go v0.26.0

)

添加之后执行 make, 成功;

启动一个 tidb-server:

用 mysql 客户端连接一下:

OK

我环境里的 go 语言版本是 1.12;  系统是 centos;

如何在没有代理的情况下编译 tidb server的更多相关文章

  1. 平板不能设置代理的情况下利用随身wifi进行http代理访问

    需求来源:平板或手机是个封闭系统无法给wifi设置代理,需要利用filllder进行抓包,内容篡改等实验 拥有硬件资源:PC机器 + 小米随身wifi 方案1: NtBind Dns + Nginx ...

  2. 如果有反向代理的情况下,获取最原始的IP的办法

    HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_HOST"];

  3. NGINX转发代理情况下,获取客户单真实IP

    编译时加上http_realip_module 模块 realip模块生效的前提是:直接连接nginx的ip是在set_real_ip_from中指定的. 原机配置: set_real_ip_from ...

  4. Sql Server优化之索引提示----我们为什么需要查询提示,Sql Server默认情况下优化策略选择的不足

    环境: Sql Server2012 SP3企业版,Windows Server2008 标准版 问题由来: 最近在做DB优化的时候,发现一个存储过程有非常严重的性能问题, 由于整个SP整体逻辑是一个 ...

  5. linux下编译运行C程序

    GCC是Linux操作系统下一个非常重要的源代码编译工具,有着许多重要的选项,支持许多不同语言的编译,如C.C++.Ada.Fortran.Objective.Perl.Python.Ruby以及Ja ...

  6. linux下编译ffmpeg 引入外部库x264

    Found no assembler Minimum version is nasm-2.13 If you really want to compile without asm, configure ...

  7. APACHE 与IIS同时存在的情况下,给APACHE添加反向代理 共用80端口

    一.首先打开IIS,将IIS的端口改成81,不要让IIS占用了80端口 二.打开APACHE的httpd.conf配置文件,将里面的端口配置成80 三.打开APACHE的虚拟目录配置文件,如:http ...

  8. target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件

    target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件

  9. 发现linux主机再用代理上网的情况下不能用wget从外网下载资源

    公司禁网(也不是完全禁,能连接外网数据库,不能下载东西,不能打开网页,但是却能打开谷歌的收索页面,只是不能点进网页) 发现linux主机再用代理上网的情况下不能用wget从外网下载资源,但是却可以从内 ...

随机推荐

  1. Spring Security 官网文档学习

    文章目录 通过`maven`向普通的`WEB`项目中引入`spring security` 配置 `spring security` `configure(HttpSecurity)` 方法 自定义U ...

  2. (一)构建基于ubuntu docker MySQL 5.6 镜像并推送到Docker Hub

    一,创建目录二,文件准备三,构建四,使用五,在宿主机上连接docker 中的mysql六,推送镜像到Docker hub 一,创建目录 mkdir -p mysql/5.6 二,文件准备 注意执行脚本 ...

  3. vagrant root 登录虚拟机

    这个问题本来觉得是个特别简单的问题,昨天弄的时候折腾了半晚上.所以打算记录下过程,主要也被网上的各种信息误导了. 1 先看下我这vagrant配置信息 Vagrant.configure(" ...

  4. redis哈希表数据类型键的查询和删除命令

    一.查询 命令名称:hget 语法:hget key field 功能:返回哈希表key中给定域field的值 返回值: 给定域的值. 当给定域不存在或是给定key不存在时,返回nil 命令名称:hg ...

  5. 【SoloPi】SoloPi使用3-性能测试-启动时间测试

    响应耗时计算工具Soloπ响应耗时计算工具,通过录屏分帧的方式自动识别起始点和结束点,精确计算耗时. 特性模拟用户视觉,计算结果更贴近用户体验自动记录点击起始点,自动识别屏幕变化结束点通过OpenCV ...

  6. C# 阿拉伯数字转换为中文数字/中文数字转换为阿拉伯数字

    项目中经常会格式化数据,转换数字的使用情况比较多,记录一下数字转换的方法! 如果需要转换为繁体中文,将数组里的汉字换成繁体中文即可. 1.阿拉伯数字转换为中文数字 /// <summary> ...

  7. C#正则表达式根据分组命名取值

    string[] regexList = new string[] { @"^(?<TickerPart1>[0-9A-Z])[ 0_]?(?<TickerPart2> ...

  8. C++报错:error C3874

    解决: 1.class 定义之后不要忘记分号 2.主函数写为int main() { }

  9. Spark机器学习基础-监督学习

    监督学习 0.线性回归(加L1.L2正则化) from __future__ import print_function from pyspark.ml.regression import Linea ...

  10. HTML 标签入门

    HTML 简介 定义: 超文本标记语言(html)是标准通用标记语言下的一个应用,也是一种规范,一种标准 它通过标记符号来表示网页中的各个部分,网页文件本身是一种文本文件,通过在文本文件中添加标记符, ...