بلاگ/نصب GO و تنظیم محیط برنامهنویسی در اوبونتو 18.04
بهروز شده
نصب GO و تنظیم محیط برنامهنویسی در اوبونتو 18.04
GO زبان برنامهنویسیای است که زاییده نوعی سردرگمی و نامیدی در گوگل محسوب میشود. جایی که توسعهدهندگان یا بایستی زبانی را انتخاب میکردند که به شکل بهینه اجرا میشد و زمان زیادی برای کامپایل لازم داشت و یا اینکه زبان انتخابیشان برای برنامهنویسی بسیار ساده بود، ولی در هنگام اجرا بهینهسازی لازم...
1400/06/185177 بازدید
GO زبان برنامهنویسیای است که زاییده نوعی سردرگمی و نامیدی در گوگل محسوب میشود. جایی که توسعهدهندگان یا بایستی زبانی را انتخاب میکردند که به شکل بهینه اجرا میشد و زمان زیادی برای کامپایل لازم داشت و یا اینکه زبان انتخابیشان برای برنامهنویسی بسیار ساده بود، ولی در هنگام اجرا بهینهسازی لازم را نداشت. به همین دلیل، زبان برنامهنویسی GO ابداع و طراحی شد تا همزمان هر سه مزیّت را داشته باشد. یعنی کامپایل سریع، راحتیِ برنامهنویسی و اجرای بهینه در مرحله تولید.
در حالی که زبان برنامهنویسی GO برای پروژههای مختلف انعطافپذیری زیادی دارد، ولی در عین حال، برای برنامههای سیستم گسترده و شبکه بسیار مناسب است و شهرتی با عنوان «زبان برنامهنویسی ابری» برای خود رقم زده است. تمرکز این زبان بر کمک به برنامهنویسان مدرن برای کارآیی بیشتر با استفاده از مجموعه ابزارهای قدرتمند، رفع مشکلات فرمتبندی با وارد فرمت به عنوان بخشی از زبان برنامهنویسی، و همینطور، بکارگیری ساده نتیجه کار با کامپایل در یک فایل باینری است. یادگیری زبان برنامهنویسی GO بسیار ساده است و با مجموعهای کوچک از کلیدواژه، گزینهای مناسب برای تازهکاران و همینطور، توسعهدهندگان باتجربه محسوب میشود.
در این آموزش، به سراغ نحوه نصب و تنظیم یک محیط برنامهنویسی با GO از طریق خط فرمان میرویم. روند کار برای سیستمعامل اوبونتو 18.04 طرحریزی شده، امّا اصول کلی آن میتواند برای توزیعهای لینوکس دبیان نیز میتواند به کار گرفته شود.
پیشنیازها
برای دنبالکردن مراحل این آموزش به یک کامپیوتر یا ماشین مجازی همراه با نصب اوبونتو 18.04 احتیاج خواهید داشت. همچنین باید دسترسی مدیریتی به این سیستم و اتصال اینترنت نیز در اختیار داشته باشید. میتوانید این سیستمعامل از صفحه نسخههای اوبونتو 18.04 دریافت کنید.
گام ۱) نصب زبان برنامهنویسی GO
در این مرحله، با دریافت آخرین نسخه از صفحه رسمی GO، این ابزار را نصب خواهید کرد.
برای این منظور، ابتدا میبایست آدرس اینترنتی فایل tarball نسخه باینری را پیدا کنید. همچنین باید SHA256 hash کنار آن را یادداشت کنید. چرا که در برای تأیید فایل دانلود شده به آن نیاز خواهید داشت.
فرآیند نصب در خط فرمان صورت میگیرد که یک روش غیرگرافیکی برای تعامل با کامپیوتر شماست. به این ترتیب، به جای کلیک بر روی دکمهها، متن تایپ میکنید و بازخورد را نیز به صورت متنی از کامپیوتر دریافت خواهید کرد.
خط فرمان که با عنوان shell یا ترمینال نیز شناخته میشود، میتواند برای اصلاح یا اتوماتکردن بسیاری از وظایف روزانه کامپیوتر به کمک شما بیاید. در همین حال، یک ابزار حیاتی برای توسعهدهندگان نرمافزار محسوب میشود. فرمانهای ترمینال زیادی وجود دارد که میتوانید با یاد گرفتن آنها، اقدامات قدرتمندی انجام دهید.
در اوبونتو 18.04 با کلیک بر روی آیکون اوبونتو در گوشه سمت چپ صفحه، برنامه ترمینال را پیدا کنید. در همین حال، میتوانید کلمه terminal را در نوار جستجو تایپ نمایید. روی آیکون اپلیکیشن ترمینال کلیک کنید تا باز شود. هخمچنین میتوانید با فشردن همزمان کلیدهای CTRL، ALT و T، این برنامه را به صورت خودکار باز کنید.
ترمینال اوبونتو
وقتی برنامه ترمینال باز شد، میتوانید باینریهای Go را به صورت دستی نصب کنید. البته میتوانید از ابزارهای مدیریت بسته مانند apt-get نیز استفاده کنید. ولی ورود دستی به مراحل نصب باعث میشود که درک بهتری از تغییر در تنظیمات سیستم برای فضای کاری زبان برنامهنویسی GO در اختیار داشته باشید.
قبل از اینکه GO را دریافت کنید، حتماً دقت کنید که در دایرکتوری خانگی (~) قرار داشته باشید.
php
1cd ~
با استفاده از فرمان curl، آدرس tarball را از صفحه رسمی دانلود GO کپی کرده بودید، وارد کنید.
سپس، با فرمان sha256sum فایل tarball دریافتشده را تأیید نمایید.
php
1sha256sum go1.12.1.linux-amd64.tar.gz
hash نمایش دادهشده پس از اجرای فرمان بالا میبایست با آنچه در صفحه دانلود وجود داشت، مطابقت کند. در غیر این صورت، این فایل مورد تأیید نخواهد بود و دوباره باید فایل را دریافت کنید.
خروجی
سپس آرشیو دریافتی را استخراج کرده و آن در موقعیت دلخواه در سیستم نصب کنید. بهترین موقعیت پیشنهادی برای این منظور، دایرکتوری /usr/local است.
php
1sudo tar -xvf go1.12.1.linux-amd64.tar.gz -C /usr/local
حالا یک دایرکتوری با نام go در مسیر /usr/local خواهید داشت.
نکته: اگرچه /usr/local/go مسیر مناسبی محسوب میشود، برخی کاربران ممکن است ترجیح دهند که از مسیرهای متفاوتی استفاده کنند.
تا به اینجا کار دریافت و نصب زبان برنامهنویسی GO را در اوبونتو 18.04 انجام دادیم. در مرحله، به تنظیم محیط کار GO خواهیم پرداخت.
گام ۲) ایجاد محیط کار GO
حالا که GO نصب شده، میتوانید فضای کاری برنامهنویسی خود را بسازید. محیط کار GO شامل دو دایرکتوری در ریشه خود خواهد بود.
src: این دایرکتوری شامل فایلهای منبع GO است. «فایل منبع» فایلی است که با استفاده از زبان برنامهنویسی GO آن را مینویسید. این فایلهای منبع توسط کامپایلر GO برای ایجاد فایل اجرای باینری مورد استفاده قرار میگیرند.
bin: در این دایرکتوری، عناصر اجرایی و نصبشده توسط ابزارهای GO قرار میگیرند. «عناصر اجرایی» فایلهای باینریای هستند که بر روی سیستم اجرا شده و وظایف را صورت میدهند. این فایلها معمولاً برنامههایی هستند که تسوط سورسکد یا دیکر منابع دریافتشده GO کامپایل شدهاند.
سابدایرکتوری src ممکن است شامل منابع کنترل نسخه مانند Git، Mercurial و Bazaar باشد. در نتیجه، بهراحتی میتوانید کدهای مربوط به پروژه خود را به صورت «کنونیکال» در آن وارد کنید. «ورود کنونیکال» شامل کدهایی است که به بستههای کاملاً معتبر ارجاع داده میشوند.
اکنون در هنگام ورود کتابخانههای ثالث، دایرکتوریهایی مانند github.com و golang.org مشاهده میکنید. در صورتی که از یک منبع کد مانند گیتهاب استفاده میکنید، پروژهها و فایلهای منبع خود را نیز در این دایرکتوری قرار خواهید داد. در ادامه، این مفهوم را بیشتر بررسی خواهیم کرد.
در اینجا، نمونه یک فضای کاری ساده را مشاهده میکنید.
دایرکتوری پیشفرض برای فضای کاری زبان برنامهنویسی GO نسخه 1.8، دایرکتوری خانگی کاربر با یک دایرکتوری زیرشاخه go یا $HOME/go است. در صورتی که از نسخه قبلتر از 1.8 استفاده میکنید، بهتر است که موقعیت $HOME/go را برای محیط کاری خود انتخاب نمایید.
فرمان زیر به منظور ایجاد ساختار دایرکتوری فضای کاری GO مورد استفاده قرار میگیرد.
php
1mkdir -p $HOME/go/{bin,src}
گزینه -p در فرمان mkdir که تمام دایرکتوریهای مادر، حتی اگر وجود نداشته باشند، ایجاد شوند. استفاده از عبارت {bin,src} باعث میشود که هر دو دایرکتوری bin و src ساخته شوند.
در نتیجه، باید حتماً ساختار دایرکتوری زیر را ایجاد کرده باشید.
php
1└── $HOME23└── go45├── bin67└── src
تا نسخههای قبلتر از Go 1.8، بایستی یک متغیر محیط محلی با نام $GOPATH ایجاد میکردیم. $GOPATH به کامپایلر مکان منابع کد ثالث و همینطور، سایر منابع کد محلی که ممکن است قبلاً نوشته شده باشند را نشان میدهد. البته دیگر استفاده از این متغیر ضروری نیست، ولی با توجه به اینکه بسیاری از ابزارهای ثالث بر اساس این متغیر تنظیم شدهاند، نمیتوان از آن صرفنظر کرد.
میتوانید $GOPATH را با اضافهکردن متغیرهای گلوبال به ~/.profile تنظیم کنید. همچنین شاید بخواهید این مورد را بر اساس تنظیمات shell، به فایل .zshrc یا .bashrc اضافه کنید.
ابتدا فایل ~/.profile را با nano یا هر ویرایشگر متنی دلخواه دیگری باز کنید.
php
1nano ~/.profile
حالا با اضافهکردن خط زیر به فایل، متغیر $GOPATH را تنظیم کنید.
php
1export GOPATH=$HOME/go
در نتیجه، در هنگام کامپایل و نصب ابزارهای GO، فایلها در مسیر $GOPATH/bin قرار داده خواهند شد. برای راحتی کار، معمولاً دایرکتوری زیرشاخه /bin به PATH در ~/.profile اضافه میشود.
php
1export PATH=$PATH:$GOPATH/bin
در نتیجه، این امکان وجود خواهد داشت که برنامههای کامپایلشده یا دانلود شده توسط ابزارهای GO در هر جایی از سیستم اجرا شوند.
نهایتاً باید باینری go را به PATH خود اضافه کنید. میتوانید این کار را با وارد کردن /usr/local/go/bin به انتهای خط انجام دهید.
php
1export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin
در نتیجه، ابزارهای زبان برنامهنویسی GO از هر جایی در سیستم در دسترس خواهند بود.
به منظور بروزرسانی shell، میتوانید فرمان زیر را برای بارگذاری متغیرهای گلوبال به کار ببرید.
php
1. ~/.profile
با تایپ فرمان echo و بررسی نتیجه خروجی، میتوانید وضعیت بروزرسانی $PATH را مشاهده کنید.
php
1echo $PATH
در نتیجه، مشاهده میکنید که $GOPATH/bin در دایرکتوری خانگی شما قرار دارد. اگر به صورت «روت» در سیستم وارد شدهاید، /root/go/bin را در مسیر خواهید دید.
خروجی
با بررسی نسخه کنونی GO، از وضعیت نصب آن مطمئن شوید.
php
1go version
در نتیجه، باید با خروجیای مشابه زیر روبرو شوید.
php
1go version go1.12.1 linux/amd64
حالا که ریشه محیط کاری خود را ایجاد و متغیر محیطی $GOPATH را تنظیم کردهاید، میتوانید پروژههای آینده خود را بر اساس این ساختار دایرکتوری بسازید. در این مثال، فرض میشود که از github.com به عنوان منبع استفاده کردهاید.
php
1$GOPATH/src/github.com/username/project
بنابراین، اگر به عنوان نمونه، بر روی پروژه https://github.com/digitalocean/godo کار کنید، ذخیره در دایرکتوری زیر انجام خواهد گرفت.
php
1$GOPATH/src/github.com/digitalocean/godo
این ساختار پروژه باعث میشود که پروژهها با ابزار go get در دسترس قرار داشته باشند. همچنین بعداً خواندن آنها راحتتر خواهد بود. میتوانید این وضعیت را با فرمان go get و دریافت کتابخانه godo بررسی نمایید.
php
1go get github.com/digitalocean/godo
در نتیجه، محتوای کتابخانه godo دانلود میشوند و دایرکتوری $GOPATH/src/github.com/digitalocean/godo در سیستم ایجاد میگردد.
با لیستکردن دایرکتوری میتوانید از دانلود بسته godo مطمئن شوید.
در مرحله بعد، محیط کار زبان برنامهنویسی GO را با برخی کدها آزمایش خواهیم کرد.
گام ۳) ساخت برنامه نمونه سلام به دنیا
اکنون با تنظیم محیط کاری GO، نوبت به ساخت برنامه نمونه “Hello, World!” میرسد. با این کار از تنظیم مناسب محیط کار مطمئن میشوید و همچنین فرصتی است برای آشنایی بیشتر با زبان برنامه نویسی GO. به دلیل اینکه قرار است یک فایل منبع GO جداگانه، و نه یک پروژه واقعی تولید کنیم، نیازی به حضور در محیط کاری برای این منظور نداریم.
از دایرکتوری خانگی، یک ویرایشگر متنی خط فرمان مانند nano باز کنید و یک فایل جدید ایجاد نمایید.
این کد از بسته fmt استفاده کرده و با آرگومان Hello, World!، تابع Println را فراخوانی میکند. در نتیجه، در هنگام اجرای برنامه، عبارت Hello, World! در ترمینال به نمایش درمیآید.
با فشردن کلیدهای CTRL و X از ویرایشگر خارج شوید. وقتی پیغام ذخیره برنامه نشان داده شد، کلید Y و سپس Enter را بزنید.
وقتی از nano خارج شدید و به shell برگشتید، برنامه را اجرا کنید.
php
1go run hello.go
برنامه hello.go موجب میشود که ترمینال، خروجی زیر را تولید کند.
php
1Hello, World!
در این مرحله از یک برنامه پایه برای آزمایش تنظیمات فضای کاری GO استفاده کردیم.
جمعبندی
با مطالعه و دنبالکردن مراحل این مطلب، توانستهاید یک فضای کاری زبان برنامهنویسی GO در سیستم اوبونتو در دسترس داشته باشید و اکنون میتوانید یک پروژه کدنویسی را شروع کنید. امیدواریم که از این مطلب وبلاگ آریانت نیز نهایت استفاده را برده باشید.