كيفية إجراء الترجمة المتقاطعة (cross-compilation) لبرنامج Go على macOS؟
مرحباً بالجميع! أنا أكتب بلغة Go على macOS وأريد بناء ملف ثنائي (binary) لنظامي Linux وWindows لتشغيله على الخادم وإعطائه للزملاء. جربت تشغيل `go build` لكنه ينشئ ملفاً تنفيذياً فقط لنظام macOS. قرأت أن Go يدعم الترجمة المتقاطعة (cross-compilation) بشكل مدمج، لكنني لا أستطيع فهم كيفية القيام بذلك بشكل صحيح.\n\nإليك الكود البسيط الخاص بي (ملف main.go):\n\n```go\npackage main\n\nimport "fmt"\n\nfunc main() {\n fmt.Println("Hello, cross-compilation!")\n}\n```\n\nلقد جربت:\n```bash\nGOOS=linux GOARCH=amd64 go build main.go\n```\nلكنني حصلت على خطأ: `cannot find package "main" in any of: ...` أو ملف ثنائي لا يعمل على Linux. ما الذي أفعله بشكل خاطئ؟ هل أحتاج إلى تثبيت أدوات إضافية، مثل CGo؟ لدي macOS Big Sur وإصدار Go 1.21. سأكون ممتناً.