You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
xiaoqidun eef0924e5e feat(新增工具): 新增upx工具用于压缩二进制大小 5 days ago
.drone.yml feat(构建脚本): 添加构建脚本 1 month ago
.gitignore feat(忽略文件): 添加忽略文件 1 month ago
Dockerfile feat(新增工具): 新增upx工具用于压缩二进制大小 5 days ago
LICENSE Initial commit 1 month ago
README.md docs(更新文档): 更新文档 1 month ago
build.sh feat(构建脚本): 添加构建脚本 1 month ago
go.mod feat(容器命令): 添加goenv可执行程序,执行命令直接进入容器环境 1 month ago
goenv.go feat(主机名称): goenv命令添加-h参数映射主机名称 1 week ago

README.md

goenv

golang environment

docker

拉取镜像

docker pull xiaoqidun/goenv:latest

运行镜像

docker run -it --rm xiaoqidun/goenv

编译项目

将项目文件映射到容器内部

linux - bash

docker run --rm -it -v $(pwd):/go/src/app -w /go/src/app xiaoqidun/goenv

windows - cmd

docker run --rm -it -v %cd%:/go/src/app -w /go/src/app xiaoqidun/goenv

windows - powershell

docker run --rm -it -v "${pwd}:/go/src/app" -w /go/src/app xiaoqidun/goenv

在容器内执行命令进行编译

编译linux程序

export GOOS=linux
export GOARCH=amd64
export CGO_ENABLED=0
go build -o main_linux_amd64 main.go

编译android程序

export CC=aarch64-linux-android21-clang
export GOOS=android
export GOARCH=arm64
export CGO_ENABLED=1
go build -o main_android_arm64 main.go

编译windows程序

export GOOS=windows
export GOARCH=amd64
export CGO_ENABLED=0
go build -o main_windows_amd64.exe main.go

编译说明

GOOS

用于标识编译的目标操作系统

GOARCH

用于标识编译的目标系统架构

CGO_ENABLED

  • 0 静态编译,禁用CGO,适用于android和darwin(apple)外的目标操作系统
  • 1 动态编译,使用CGO,适用于依靠外部工具链才能完成编译的目标操作系统

动态编译

  • 动态编译必须设置CC变量,指定C编译器可执行文件路径或者在PATH变量内的可执行C编译器名称

快捷命令 - goenv

运行一个goenv容器并将当前目录挂载到容器的工作目录

快速安装

go get -u github.com/xiaoqidun/goenv

手动安装

  1. 根据系统架构下载为你编译好的二进制文件
  2. 将下载好的二进制文件重命名为goenv并保留后缀
  3. 把goenv文件移动到系统PATH环境变量中的目录下
  4. windows外的系统需使用chmod命令赋予可执行权限