🟢 Лёгкий · 1 очк. Инструменты сборки
Как скомпилировать Go-приложение для Linux на macOS?
A go build -os linux
B GOOS=linux GOARCH=amd64 go build
C go cross-compile linux
D Нельзя, нужна Linux-машина
Объяснение вопроса

Go изначально поддерживает кросс-компиляцию. Достаточно задать переменные окружения GOOS (целевая ОС) и GOARCH (целевая архитектура):

# Linux amd64 (серверы, Docker)
GOOS=linux GOARCH=amd64 go build -o myapp

# Linux ARM64 (AWS Graviton, Raspberry Pi)
GOOS=linux GOARCH=arm64 go build -o myapp

# Windows
GOOS=windows GOARCH=amd64 go build -o myapp.exe

Если в проекте есть CGo-зависимости, нужно либо CGO_ENABLED=0 (если можно обойтись без CGo), либо кросс-компилятор для целевой платформы.

Посмотреть все поддерживаемые пары: go tool dist list

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.