medcl / esm

An simple Elasticsearch migration tool.
862 stars 260 forks source link

如何在windows下和linux下 使用go去编译esm源码, 生成可执行文件? #45

Closed Bob222GitHub closed 3 years ago

Bob222GitHub commented 4 years ago

请问:如何在windows下和linux下 使用go去编译esm源码, 生成可执行文件? 能提供具体的步骤吗?

Hzhenyong commented 3 years ago

请问:如何在windows下和linux下 使用go去编译esm源码, 生成可执行文件? 能提供具体的步骤吗?

1、修改http.go 中 “infini.sh/framework/lib/fasthttp”为 "github.com/valyala/fasthttp" 暂时未找到源码中作者引用的库,改用第三方。 2、http.go中 有两处 request.Header["Content-Type"]= "application/json" 需要修改 s := make([]string, 1) s[0] = "application/json" request.Header["Content-Type"]= s 3、将src/github.com下的medcl文件夹拷贝到src目录,并重命名成infini.sh,进入到esm源码目录下 执行命令 make cross-build 在同级目录下生成bin目录,里面有Windows、linux、mac的二进制文件, 4、执行 GOOS=linux GOARCH=arm64 go build -ldflags '-w -s' -o bin/linux_arm64/esm 可以生成arm64架构的二进制文件