Maison > Article > développement back-end > Implémenter la compilation multiplateforme Golang
Compilation multiplateforme, également appelée compilation croisée, je peux la compiler sur la plateforme win en un fichier exécutable sur la plateforme Linux.
C'est aussi la raison pour laquelle Go est si populaire. Pour les langages tels que java, python, php, etc., nous développons généralement sur la plate-forme Win et déployons sur Linux lors du déploiement. pour gérer les dépendances de tiers, non seulement le développement est fatiguant, mais l'exploitation et la maintenance sont également fatigantes. Bien que Docker résolve désormais ce problème, il ne devrait toujours pas être aussi confortable qu'il l'était à l'origine.
Si vous utilisez Go, quelles que soient les dépendances tierces, il sera uniquement intégré dans un fichier exécutable et déployé directement immédiatement, et de manière hautement simultanée. Quelle que soit la taille de votre cœur, vous. vous n'avez même pas besoin de Nginx, mais ne vous inquiétez pas du tout des problèmes de concurrence.
Exemple
est compilé dans un fichier exécutable de plate-forme Linux sur la plate-forme Win. Exécutez les commandes suivantes dans l'ordre sous cmd
:
SET CGO_ENABLED=0 // 禁用CGO SET GOOS=linux // 目标平台是linux SET GOARCH=amd64 // 目标处理器架构是amd64
然后执行go build
,得到的就是能够在linux上,可执行的文件。
我现在将这个文件上传到我的云服务器上,如下图所示。
之后执行,可以看到,我云服务器上连Go环境都没,但是仍然可以执行成功。
Windows下编译Mac平台64位可执行程序:
SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build
Mac 下编译 Linux 和 Windows平台 64位 可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux 下编译 Mac 和 Windows 平台64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!