本地构建etcd
环境
- mac os
- go1.10.3
设置环境
- 确保使用GOROOT来自于, 在这里是:
/usr/local/go
- 确认使用GOPATH构建目录设置,在这里是:
/Users/bond/etcd
- 在这里主要的关于本次的~/.bash_profile设置如下:
export GOBIN=$GOROOT/bin export GOARCH=amd64 export GOOS=darwin export GOPATH=/Users/bond/etcd PATH=$PATH:/usr/local/sbin:$GOBIN:$GOPATH/bin
- 上面的配置好,当前go的环境如下:
结果如下:go env
GOARCH="amd64" GOBIN="/bin" GOCACHE="/Users/bond/Library/Caches/go-build" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/bond/etcd" GORACE="" GOROOT="/usr/local/go" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64" GCCGO="gccgo" CC="clang" CXX="clang++" CGO_ENABLED="1" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/90/wsgc3gkx4h1bns2j0lyt4tj00000gn/T/go-build267203233=/tmp/go-build -gno-record-gcc-switches -fno-common"
- 创建check out的目录
mkdir -p $GOPATH/src/go.etcd.io
- 检出代码
cd $GOPATH/src/go.etcd/io git clone https://github.com/coreos/etcd.git
- 构建
cd etcd ./build
- 启动etcd
./bin/etcd &
- 测试
ETCDCTL_API=3 ./bin/etcdctl put foo bar