mirror of
https://github.com/xiaoqidun/goenv.git
synced 2024-12-22 13:41:06 +08:00
xiaoqidun
80862d685c
feat(更新镜像): 去掉对镜像意义不大的工具
All checks were successful
continuous-integration/drone/push Build is passing
goenv
golang environment
docker
拉取镜像
docker pull hkccr.ccs.tencentyun.com/xiaoqidun/goenv:latest
运行镜像
docker run -it --rm hkccr.ccs.tencentyun.com/xiaoqidun/goenv
编译项目
将项目文件映射到容器内部
linux - bash
docker run --rm -it -v $(pwd):/go/src/app -w /go/src/app hkccr.ccs.tencentyun.com/xiaoqidun/goenv
windows - cmd
docker run --rm -it -v %cd%:/go/src/app -w /go/src/app hkccr.ccs.tencentyun.com/xiaoqidun/goenv
windows - powershell
docker run --rm -it -v "${pwd}:/go/src/app" -w /go/src/app hkccr.ccs.tencentyun.com/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 install github.com/xiaoqidun/goenv@latest
手动安装
- 根据系统架构下载为你编译好的二进制文件
- 将下载好的二进制文件重命名为goenv并保留后缀
- 把goenv文件移动到系统PATH环境变量中的目录下
- windows外的系统需使用chmod命令赋予可执行权限