گو (Go)، که با نام گولنگ (Golang) نیز شناخته میشود، به سرعت به بخشی جداییناپذیر در توسعه نرمافزار مدرن تبدیل شده است، به ویژه برای برنامههای بومی ابری (cloud-native)، میکروسرویسها و برنامهنویسی سیستم. ترکیب عملکرد بالا، تایپ ایستا و اصول همزمانی (concurrency) قوی آن، آن را به انتخابی ایدهآل برای توسعهدهندگان متوسط و پیشرفته تبدیل کرده است. با این حال، قبل از اینکه بتوانید از این قابلیتها بهره ببرید، باید فرآیند نصب را در محیط لینوکس خود مدیریت کنید. اگرچه این فرآیند به طور کلی ساده است، اما انتخاب روش صحیح برای حفظ یک جریان کاری توسعه تمیز و قابل مدیریت حیاتی است.
پیشنیازها و آمادهسازی سیستم
قبل از ورود به روشهای خاص نصب، مهم است که اطمینان حاصل کنید سیستم شما آماده است. شما به یک توزیع استاندارد لینوکس (مانند اوبونتو، دبیان، فدورا یا آرچ لینوکس) با دسترسی به ترمینال نیاز دارید. بیشتر توزیعهای مدرن دارای یک کامپایلر C از پیش نصب شده هستند که در صورت انتخاب کامپایل کردن Go از سورس کد ضروری است، اگرچه بیشتر کاربران باینریهای از پیش کامپایل شده را ترجیح میدهند.
به شدت توصیه میشود بررسی کنید که آیا نسخه قدیمیتری از Go از قبل نصب شده است یا خیر. میتوانید این کار را با اجرای دستور زیر انجام دهید:
go version
اگر این دستور یک شماره نسخه را برگرداند، ممکن است بخواهید نصب موجود را حذف کنید یا آن را در کنار نصب جدید خود با استفاده از مدیران نسخه مانند gvm یا asdf مدیریت کنید. برای این راهنما، ما بر نصب آخرین نسخه پایدار مستقیماً از منبع رسمی تمرکز خواهیم کرد.
روش ۱: نصب از طریق تاربال رسمی (توصیه شده)
معتبرترین و قابل حملترین روش برای نصب Go در لینوکس، دانلود تاربال باینری از پیش کامپایل شده مستقیماً از وبسایت رسمی Go است. این روش تضمین میکند که دقیقاً همان نسخهای را دریافت میکنید که میخواهید، بدون تعارض وابستگیها از مدیر بسته توزیع شما.
مرحله ۱: دانلود بسته
اولین قدم، تعیین معماری شما است (معمولاً amd64 برای پردازندههای ۶۴ بیتی اینتل/AMD). میتوانید جدیدترین لینک دانلود را در صفحه دانلود Go پیدا کنید. برای بیشتر کاربران، دستورات زیر آخرین نسخه را دریافت خواهند کرد:
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
توجه: همیشه شماره نسخه در URL را با آخرین نسخه منتشر شده فعلی تطبیق دهید.
مرحله ۲: حذف نصبهای موجود Go
اگر قبلاً Go را در دایرکتوری /usr/local نصب کردهاید، بهترین روش این است که نصب قدیمی را حذف کنید تا از تعارضات جلوگیری شود. میتوانید این کار را با حذف دایرکتوری go انجام دهید:
sudo rm -rf /usr/local/go
مرحله ۳: استخراج آرشیو
پس از تکمیل دانلود، تاربال را در /usr/local استخراج کنید. این کار دایرکتوری /usr/local/go را ایجاد میکند که مکان استاندارد برای نصبهای Go است.
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
مرحله ۴: بهروزرسانی متغیرهای محیطی
برای اینکه ابزار Go از هر جایی در ترمینال شما قابل دسترسی باشد، باید /usr/local/go/bin را به متغیر محیطی PATH سیستم خود اضافه کنید. فایل پیکربندی نمایه خود (مثلاً ~/.bashrc، ~/.zshrc یا /etc/profile برای دسترسی سراسری سیستم) را ویرایش کنید و خط زیر را اضافه کنید:
export PATH=$PATH:/usr/local/go/bin
پس از افزودن این خط، فایل را ذخیره کنید و پیکربندی نمایه خود را با اجرای دستور زیر بارگذاری مجدد کنید:
source ~/.bashrc
در نهایت، بررسی کنید که Go به درستی نصب شده است و متغیر PATH به درستی تنظیم شده است، با اجرای go version. باید شماره نسخه باینری که تازه نصب کردهاید را مشاهده کنید.
روش ۲: استفاده از مدیران بسته
در حالی که روش تاربال بیشترین کنترل را ارائه میدهد، برخی از توسعهدهندگان راحتی مدیران بسته را ترجیح میدهند. برای کاربران اوبونتو/دبیان، میتوانید از apt استفاده کنید:
sudo apt update
sudo apt install golang-go
با این حال، آگاه باشید که مدیران بسته توزیع اغلب از آخرین انتشارهای Go عقب هستند. اگر به یک نسخه خاص و جدید برای ویژگیهای پیشرفته یا پچهای امنیتی نیاز دارید، روش تاربال رسمی به شدت توصیه میشود.
پیکربندی GOPATH و فضای کاری
در توسعه مدرن Go (نسخه ۱.۱۶ به بالا)، متغیر محیطی GO111MODULE باید روی on تنظیم شود تا مدیریت ماژول به درستی انجام شود. همچنین خوب است که یک دایرکتوری فضای کاری تعریف کنید. موارد زیر را به فایل پیکربندی پوسته (shell) خود اضافه کنید:
export GOPATH=$HOME/go
export GO111MODULE=on
نتیجهگیری
نصب Go در لینوکس یک گام بنیادی برای هر توسعهدهندهای است که به دنبال ساخت برنامههای کارآمد و مقیاسپذیر است. با استفاده از روش تاربال رسمی و پیکربندی صحیح متغیرهای محیطی، شما یک محیط توسعه قوی و بهروز را تضمین میکنید. چه در حال ساخت خدمات بکاند، ابزارهای CLI یا سیستمهای توزیعشده باشید، نصب و پیکربندی صحیح Go زمینه را برای موفقیت فراهم میکند. کدنویسی شادی داشته باشید!