اذهب إلى المحتوى

تثبيت لغة جو وإعداد بيئة برمجة محلية على نظام ماك macOS


هدى جبور

جو Go هي لغة برمجة حديثة ذات قواعد syntax عالية المستوى على غرار لغات البرمجة النصية مثل بايثون وروبي وجافاسكربت، وقد طوّرتها شركة جوجل Google في عام 2007 لتكون ملائمة لنوعية احتياجات جوجل الحسابية من حيث التصريف compilation السريع وسهولة البرمجة والتنفيذ الفعّال. تعتبر جو لغة بسيطة جدًا من ناحية القواعد، فعدد الكلمات المفتاحية بها والأنواع الأساسية فيها ضئيل مقارنة بباقي اللغات، كما أنها تقلل كثيرًا من فكرة وجود طرق متعددة لتنفيذ مهمة ما، حتى أنها لا تحتوي على حلقة while وتقتصر فقط على حلقة for مما يجعل هذه اللغة سهلة التعلم ومناسبة للمبرمجين الجدد والخبراء ويميّزها عن باقي اللغات. تعالج جو عمليات التزامن بشكل مبتكر، بالإضافة إلى توفير الأدوات اللازمة لبناء ثنائيات محلية native binaries (برامج تنفيذية executables أو مكتبات shared libraries) لاستخدامها في منصات وأماكن أخرى.

جو هي لغة برمجة متعددة الاستخدامات يمكن استخدامها في العديد من مشاريع البرمجة، إلا أنها مناسبة بشكل خاص لبرامج الشبكات والأنظمة الموزعة، ومن هذا المُنطلق اكتسبت لقب "لغة السحابة". تركز لغة جو على مساعدة المبرمجين من خلال تقديم مجموعة مميزة من الأدوات وجعل التنسيق جزءًا من مواصفات اللغة وتسهيل النشر عن طريق تحويل البرنامج إلى ملف تنفيذي.

ستتعلم في هذا المقال كيفية تثبيت جو على حاسب يعمل بنظام ماك وإعداد مساحة عمل برمجية خاصة بك من خلال سطر الأوامر لبدء العمل مع جو.

المتطلبات

ستحتاج إلى حاسب يعمل بنظام ماك macOS مع إمكانية وصول إدارية administrative access واتصال بالإنترنت.

الخطوة 1 - فتح الطرفية Terminal

سننجز عملية التثبيت والإعداد من خلال سطر الأوامر command line وهو معروف أيضًا باسم الصدَفة shell وهو وسيلة تخاطب مع الحاسوب عبر كتابة الأوامر له والذي يُمكّنك من تعديل وأتمتة العديد من المهام التي تقوم بها على جهاز الحاسوب كل يوم وهو أداة أساسية لمطورِي البرامج.

تُعَدّ طرفية نظام ماك تطبيقًا يمكنك استخدامه للوصول إلى واجهة سطر الأوامر، ومثل أي تطبيق آخر يمكنك العثور عليه بالذهاب إلى Finder ثم الانتقال إلى مجلد التطبيقات Applications ثم إلى مجلد الأدوات المساعدة Utilities، وانقر بعد ذلك نقرًا مزدوجًا فوق أيقونة الطرفية.

يمكنك أيضًا العثور على الطرفية من خلال فتح Spotlight عن طريق الضغط باستمرار على مفتاحَي CMD + SPACE وكتابتها في المربع الذي يظهر.

MacOSXSetUp.png

هناك العديد من الأوامر الخاصة بالطرفية والتي يمكنك تعلّمها من مقال مدخل إلى طرفيّة لينكس Linux Terminal، وبعد فتح تطبيق الطرفية يمكنك تحميل حزمة أدوات المطورXcode وتثبيتها، إذ ستحتاجها لتثبيت جو.

الخطوة 2 - تثبيت Xcode

تُعَدّ Xcode بيئة تطوير متكاملة integrated development environment أو IDE اختصارًا، وتحتوي على أدوات تطوير البرامج لنظام ماك، كما يمكنك التحقق مما إذا كان Xcode مثبتًا بالفعل عن طريق كتابة ما يلي في الطرفية:

$ xcode-select -p

يعني الخرج التالي أنّ Xcode مُثبّت:

/Library/Developer/CommandLineTools

إذا تلقيت خطأً ما، فثبّت Xcode من متجر App Store واضغط على زر قبول الخيارات الافتراضية.

عُد إلى نافذة الطرفية بعد تثبيت Xcode، وبعد ذلك ستحتاج إلى تثبيت تطبيق أدوات سطر الأوامر Command Line Tools الذي يخص Xcode عن طريق كتابة الأمر التالي:

$ xcode-select --install

إلى هنا تكون قد ثبّت كل من Xcode وتطبيق Command Line Tools -أدوات سطر الأوامر الخاص به بالكامل، ويمكنك الآن تثبيت مدير الحزم Homebrew.

الخطوة 3 - تثبيت وإعداد Homebrew

على الرغم من احتواء طرفية نظام ماك على الكثير من الوظائف المفيدة مثل تلك الموجودة في أنظمة لينكس ويونكس، إلا أنها لا تحتوي على مدير حزم الذي يُعَدّ مجموعةً من الأدوات البرمجية التي تعمل على أتمتة عمليات التثبيت بما في ذلك التثبيت الأولي للبرامج وترقيتها وضبطها وإزالتها حسب الحاجة، كما يحتفظ بالحزم المثبَّتة في موقع مركزي وحسب التنسيقات الشائعة.

يزوِّد Homebrew نظام ماك بنظام إدارة حزمة برمجيات مجانية ومفتوحة المصدر يعمل على تبسيط عملية تثبيت الحزم على نظام ماك، كما يمكنك تثبيته من خلال تنفيذ الأمر التالي في الطرفية:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

كُتب Homebrew باستخدام لغة روبي Ruby، لذلك سيعدّل مسار Ruby على حاسبك، كما سيسحب الأمر curl برمجيةً أو سكربتًا من عنوان URL المحدد وسيطبع لك هذا السكربت رسالةً تشرح فيها ما الذي ستفعله وستطلب منك الإذن لتنفيذ ذلك، إذًا ستوفر لك تلك الرسائل إمكانية معرفة ما الذي ستنفّذه البرمجية وستمنحك الفرصة للتحقق والموافقة على التنفيذ.

قد يتطلب تنفيذ الأمر إدخال كلمة المرور الخاصة بك، وفي هذه الحالة يجب أن تدرك أنّ ضغطات المفاتيح التي تُجرّبها لن تظهر في الطرفية (تُخفى أثناء كتابتها)، وبعد الانتهاء من كتابة كلمة المرور ما عليك سوى الضغط على مفتاح العودة، ففي حال لم تُطلَب منك كلمة المرور، فاضغط على المحرف y ( أي نعم yes) كلما طُلب منك ذلك لتأكيد عملية التثبيت.

فيما يلي بعض الرايات flags المرتبطة بالأمر curl:

  • الراية f- أو fail-- تُخبر الطرفية بعدم تقديم مستند HTML عند حدوث أخطاء في الخادم.
  • الراية s- أو silent-- تُستخدَم لكتم الأمر curl، أي لن تظهر لك معلومات أثناء عملية التثبيت، وبالتالي لن تُظهِر لك مقياس التقدم، وعند دمج هذه الراية مع الراية S- أوshow-error --، فسيُظهر لك curl رسالة خطأ في حالة الفشل.
  • الراية L- أو location curl-- ستُخبِر curl بأنه عليه إعادة طلب العنوان من المكان الجديد في حال أبلغ الخادم عن انتقال الصفحة المطلوبة إلى موقع مختلف.

ضع مجلد Homebrew في قمة متغير البيئة PATH بعد اكتمال عملية التثبيت، وذلك لضمان استدعاء عمليات تثبيت Homebrew بدلًا من الأدوات التي قد يحددها نظام macOS تلقائيًا والتي يمكن أن تتعارض مع بيئة التطوير التي نقوم بإنشائها.

يجب عليك إنشاء أو فتح ملف ‎~/.bash_profile‎ باستخدام محرر نصوص سطر الأوامر nano من خلال الأمر nano:

$ nano ~/.bash_profile

اكتب الأمر التالي بعد فتح الملف في الطرفية:

export PATH=/usr/local/bin:$PATH

اضغط الآن باستمرار على مفتاح CTRL + o لحفظ التغييرات، وعندما يُطلب منك ذلك اضغط على مفتاح RETURN، كما يمكنك الآن الخروج من nano بالضغط على مفتاحي CTRL + x.

نشِّط هذه التغييرات عن طريق تنفيذ الأمر التالي:

$ source ~/.bash_profile

بذلك ستدخل التغييرات التي أجريتها على متغير البيئة PATH حيّز التنفيذ، كما يمكنك التأكد من تثبيت Homebrew بنجاح عن طريق كتابة ما يلي:

$ brew doctor

إذا لم تكن هناك حاجة إلى إجراء عمليات تحديث، فستحصل على الخرج التالي:

Your system is ready to brew.

بالنسبة لعمليات التحديث التي قد تُطالب بها، فربما تكون تحذيرًا لتشغيل أمر آخر مثل brew update، وذلك للتأكد من أنّ تثبيت Homebrew الخاص بك بدوره محدث.

بعد تجهيز Homebrew يمكنك تثبيت جو.

الخطوة 4 - تثبيت جو

يمكنك البحث عن جميع الحزم المتاحة عن طريق Homebrew من خلال الأمر brew search، وهنا ستبحث عن الحزم أو الوحدات المتعلقة بجو:

$ brew search golang

ملاحظة: لم يُستخدم في هذا المقال بحث brew باستخدام كلمة go، أي أننا لم نكتب brew search go لأنه يُعيد عددًا كبيرًا جدًا من النتائج، فكلمة go عبارة عن كلمة صغيرة وتتطابق مع العديد من الحزم، وبالتالي أصبح من الشائع استخدام كلمة golang على أساس مصطلح بحث، كما تُعَدّ هذه ممارسة شائعةً عند البحث على الإنترنت عن مقالات متعلقة بجو أيضًا، وقد وُلِد مصطلح Golang من عنوان موقع اللغة الرسمي golang.org.

سيكون الخرج قائمةً من الحزم والوحدات المتعلقة بلغة جو كما ذكرنا:

golang    golang-migrate

يمكنك الآن تثبيت لغة جو عبر تنفيذ الأمر التالي:

$ brew install golang

ستعطيك الطرفية ملاحظات تتعلق بتثبيت جو، وقد يستغرق التثبيت بضع دقائق قبل اكتمال التثبيت.

اكتب ما يلي للتحقق من إصدار جو الذي ثبّته:

$ go version

سيطبع الأمر السابق الإصدار المُثبت لديك من جو وسيكون الإصدار الحديث والمستقر.

يمكنك لاحقًا تحديث جو من خلال تنفيذ الأوامر التالية لتحديث Homebrew ثم تحديث جو:

$ brew update
$ brew upgrade golang

سيحدِّث الأمر الأول صيغة Homebrew نفسها، وبالتالي ضمان حصولك على أحدث المعلومات للحزم التي تريد تثبيتها؛ أما الأمر الثاني فسيُحدّث الحزمة golang إلى أحدث إصدار متوفر.

من الممارسات الجيدة التأكد من أن إصدار جو المُثبت على جهازك مُحدّث أي لديك أحدث إصدار، وذلك من خلال الاطلاع على أحدث الإصدارات الجديدة وتحديثه بما يتوافق معها.

بعد تثبيت جو أصبحت جاهزًا لإنشاء مساحة عمل لمشاريع جو الخاصة بك.

الخطوة 5 - إنشاء مساحة العمل الخاصة بك لبناء مشاريع جو

الآن يمكنك المتابعة وإنشاء مساحة عمل البرمجة الخاصة بك بعد أن ثبّتََ Xcode و Homebrew و Go.

ستحتوي مساحة العمل على مجلدَين في جذرها:

  • src: ستوضع فيه ملفات جو المصدرية، وهي الملفات التي تُكتَب وتُنشأ باستخدام لغة جو، كما يستخدِمها مُصرِّف جو لإنشاء ملفات قابلة للتنفيذ (ملفات ثنائية يمكن تشغيلها على نظامك لتنفيذ المهام التي تتضمنها).
  • bin: ستوضع فيه الملفات القابلة للتنفيذ التي أنشئت وثبِّتت بواسطة أدوات جو، وبعبارة أخرى هي البرامج التي تم تصريفها بواسطة الشيفرة المصدرية الخاصة بك أو غيرها من الشيفرة المصدرية المرتبطة بجو والتي جرى تحميلها.

من المحتمل أن يحتوي المجلد src على عدة مستودعات للتحكم في الإصدارات مثل Git و Mercurial و Bazaar، ويسمح لك هذا باستيراد أساسي canonical import للشفرة في مشروعك، إذ يُعَدّ الاستيراد الأساسي عملية استيراد تشير إلى حزمة مؤهلة وجاهزة بالكامل مثل github.com/digitalocean/godo.

سترى مجلدات مثل github.com أو golang.org عندما يستورد برنامجك مكتبات خارجية، فإذا كنت تستخدم -أو لديك- شيفرات برمجية على إحدى المواقع مثل GitHub، فستضع أيضًا هذه المشاريع أو ملفات المصدر ضمن هذا المجلد وستتعرّف على ذلك بعد قليل.

ستبدو مساحة العمل النموذجية كما يلي:

.
├── bin
   ├── buffalo                                      # أمر تنفيذي
   ├── dlv                                          # أمر تنفيذي
   └── packr                                        # أمر تنفيذي
└── src
    └── github.com
        └── digitalocean
            └── godo
                ├── .git                            # البيانات الوصفية لمستودع جيت
                ├── account.go                      # ملف الحزمة
                ├── account_test.go             # اختبار ملف الحزمة
                ├── ...
                ├── timestamp.go
                ├── timestamp_test.go
                └── util
                    ├── droplet.go
                    └── droplet_test.go

بدءًأ من الإصدار 1.8 يُعَدّ المجلد الافتراضي لمساحة العمل في جو هو المجلد الرئيسي home directory للمستخدِم الذي يحتوي على مجلد فرعي باسم go أي HOME/go$، فإذا كنت تستخدِم إصدارًا أقدم من 1.8، فمن الأفضل الاستمرار في استخدام الموقع HOME/go$ لمساحة عملك.

نفِّذ الأمر التالي لإنشاء بنية مجلد لمساحة العمل الخاصة بك في جو:

$ mkdir -p $HOME/go/{bin,src}

يطلب الخيار p- من mkdir إنشاء جميع العناصر الرئيسية parents في المجلد حتى لو لم تكن موجودة حاليًا، كما يؤدي استخدام {bin,src} إلى إنشاء مجموعة من الوسائط لـ mkdir وإخباره بإنشاء كل من مجلدَي bin و src.

سيؤدي ذلك إلى إنشاء بنية المجلد التالية:

└── $HOME
    └── go
        ├── bin
        └── src

سابقًا أي قبل الإصدار 1.8 كان يجب عليك استخدام متغير بيئة محلي يسمى GOPATH$ من أجل تحديد المكان الذي يمكن للمترجم فيه العثور على الشيفرة المصدرية المطلوب استخدامها في مشروعك، سواءً كانت الشيفرة محلية أو على موقع استضافة خارجي، وتُعَدّ هذه الطريقة جيدةً أكثر كما أن بعض الأدوات مازالت تعتمد على استخدامه ولكن لم يعد يُطلب ذكر متغير البيئة ذاك صراحة.

يمكن ضبط المتغير GOPATH$ الخاص بك من خلال إضافة المتغيرات العامة إلى bash_profile./~.

أولًا، افتح bash_profile./~ باستخدام nano أو محرر النصوص المفضل لديك:

$ nano ~/.bash_profile

اضبط المتغير GOPATH$ الخاص بك من خلال إضافة ما يلي إلى الملف:

export GOPATH=$HOME/go

عندما يُصرّف ويثبّت جو الأدوات، فإنه سيضعها في المجلد GOPATH/bin$، ومن الشائع إضافة المجلد الفرعي bin/ الخاص بمساحة العمل إلى PATH في bash_profile./~:

export PATH=$PATH:$GOPATH/bin

أضف الآن ما يلي إلى ملف bash_profile./~:

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

سيسمح لك ذلك بتشغيل أية برامج تصرفها أو تحملها عبر أدوات جو في أيّ مكان على نظامك.

نفّذ الأمر التالي لتحميل المتغيرات العامة وتحديث الصدَفة:

$ . ~/.bash_profile

يمكنك يمكنك التحقق من تحديث المتغير PATH$ باستخدام الأمر echo وقراءة الخرج:

$ echo $PATH

ستشاهد GOPATH/bin$ الذي سيظهر في مجلد home، فإذا سجلت الدخول على أساس مستخدِم عادي وليكن sammy، فسترى ‎/Users/sammy/go/bin في المسار:

/Users/sammy/go/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

الآن بعد أن أنشأت المجلد الجذر لمساحة العمل وضبطت مجموعة متغيرات البيئة GOPATH$ الخاصة بك، أصبح بإمكانك إنشاء مشاريعك باستخدام بنية المجلد التالية، كما يفترض هذا المثال أنك تستخدِم موقع Github لاستضافة مشروعك:

$GOPATH/src/github.com/username/project

إذا كنت تعمل على مشروع https://github.com/digitalocean/godo مثلًا، فستخزنه في المجلد التالي:

$GOPATH/src/github.com/digitalocean/godo

ستجعل بنية المشاريع هذه الوصول إلى هذه المشاريع متاحًا باستخدام أداة go get، كما أنها ستساعدك أيضًا في عمليات القراءة، إذ يمكنك الوصول مثلًا إلى مكتبة godo من خلال الأمر السابق كما يلي:

go get github.com/digitalocean/godo

يمكنك أيضًا التحقق من نجاح عملية التحميل من خلال عرض محتويات المجلد:

ls -l $GOPATH/src/github.com/digitalocean/godo

يجب أن تشاهد خرجًا يشبه الخرج التالي:

Output
-rw-r--r--  1 sammy  staff   2892 Apr  5 15:56 CHANGELOG.md
-rw-r--r--  1 sammy  staff   1851 Apr  5 15:56 CONTRIBUTING.md
.
.
.
-rw-r--r--  1 sammy  staff   4893 Apr  5 15:56 vpcs.go
-rw-r--r--  1 sammy  staff   4091 Apr  5 15:56 vpcs_test.go

بذلك تكون أنشأت مساحة عمل خاصة بك وضبطت متغيرات البيئة اللازمة، وفي الخطوة التالية سنختبر مساحة العمل هذه من خلال كتابة شيفرة برنامج بسيط.

الخطوة 6 - إنشاء برنامج بسيط

ستنشئ برنامج "Hello, World!‎" بغية اختبار مساحة العمل والتعرف أكثر على جو، إذ ستنشئ هنا ملفًا مصدريًا واحد لجو وليس مشروعًا متكاملًا، لذا لا داعي لأن تكون ضمن مساحة العمل الخاصة بك لإنجاز ذلك.

افتح محرر نصوص سطر الأوامر nano من المجلد الرئيسي وأنشئ ملفًا جديدًا:

$ nano hello.go

اكتب برنامجك في الملف الجديد:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

ستستخدِم هذه الشيفرة حزمة fmt وستستدعي الدالة Println لطباعة عبارة Hello, World!‎ التي مُرِّرت إلى الدالة.

اخرج الآن من المحرر nano بالضغط على مفتاحي CTRL+ x وعند مطالبتك بحفظ الملف اضغط على y ثم ENTER، وبمجرد الخروج من nano والعودة إلى الصدَفة شغّل برنامج hello.go الذي أنشأته:

go run hello.go

سترى الخرج التالي:

Hello, World!

يكون بذلك اختبار مساحة العمل الخاصة بك قد أكتمل.

خاتمة

تهانينا، لقد أنشأت مساحة عمل خاصة بك لكتابة الشيفرات البرمجية وإنشاء المشاريع بلغة جو على جهاز يعمل بنظام تشغيل ماك.

ترجمة -وبتصرُّف- للمقال How To Install Go and Set Up a Local Programming Environment on macOS لصاحبه Gopher Guides.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...