Компиляция программы GO в Windows для развертывания в Linux - PullRequest
0 голосов
/ 03 мая 2018

Я хотел бы работать в среде Windows и установить go 1.10.1 ... Однако мне нужно развернуть свою программу на Linux. Есть ли способ собрать программу go и указать для сборки Linux. Я видел тонны документации для перехода из Linux в Windows, но не наоборот.

Самый многообещающий пример, который я пробовал:

set GOOS=linux 
set GOARCH=amd64 
go build filename.go

-> который просто создает exe ..

1 Ответ

0 голосов
/ 03 мая 2018

Я могу подтвердить, что то, что вы пытаетесь достичь, работает для меня в Windows 7 и Windows 10 с версией 1.10.2. Чтобы убедиться, что ваша установка go поддерживает желаемую цель, выполните следующую команду:

go tool dist list | find "linux/amd64"

Вы должны убедиться, что вы задали переменные среды без каких-либо дополнительных или скрытых пробелов, установите их следующим образом:

set GOOS=linux
set GOARCH=amd64

Затем проверьте, например, так:

echo !%GOOS%!
echo !%GOARCH%!

Если комбинация недействительна, вы должны получить это сообщение:

cmd / go: неподдерживаемая пара GOOS / GOARCH linux / amd64

После этого запустите вашу сборку:

go build -v -x -o foreign_linux foreign.go

Следуя совету Volkers, вы можете проверить, действительно ли созданный бинарный файл является бинарным для Linux:

type foreign_linux

Вы получите несколько загадочных символов, но в начале первой строки должно быть ELF. Если это exe, вы увидите MZ.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...