تثبيت WebAssembly محليًا

تعرّف على كيفية تثبيت WebAssembly محليًا لحل تمارين Exercism على جهازك.


يعتمد هذا المسار بشكل كامل على Node.js لتوفير بيئة تشغيل لـ WebAssembly. وهذا يعني أننا نفترض أن تنفيذ JavaScript على حاسوبك سيتم باستخدام Node.js.

متطلبات المسار

تأتي كثير من الأجهزة وقد ثُبّتت عليها Node.js مسبقًا، أو ربما ثُبّتت سابقًا أو كتبعية. لذا قبل أن نفعل أي شيء، علينا أن نتحقق مما إذا كانت مثبّتة بالفعل:

  1. افتح طرفية (Terminal، cmd، Powershell، bash، ...)
  2. شغّل node -v

إذا كانت Node.js مثبّتة، فسيُعرض رقم إصدار. دوّن هذا الإصدار. وإذا لم تكن Node.js مثبّتة، فسيُكتب خطأ. عادةً ما يكون على غرار 'node' is not recognised.

Node.js

إذا كانت Node.js مثبّتة مسبقًا

انتقل إلى موقع Node.js. سيعرض إصدارين (إن تعرّف على نظام تشغيلك، وإلا فاختر نظام تشغيلك أولًا). إذا تطابق إصدار node -v لديك مع أحدهما، فأنت في حال جيدة. وإن لم يتطابق، فنوصي باستخدام Node.js LTS. وإذا كنت قلقًا من أن تُفسد الترقية شيئًا في نظامك، فيمكنك المتابعة كما لو أن كل شيء على ما يرام؛ لكننا قد لا نتمكن من تقديم الدعم إذا حدث شيء غير متوقع.

إذا لم تكن Node.js مثبّتة

هناك طريقتان لتثبيت Node.js:

كلا الخيارين يدعم Windows وmacOS وLinux. إذا لم تكن تعرف ماذا تفعل، فاستخدام المثبّت هو الأسهل.

  • نوصي باستخدام إصدار LTS. وهو مُشار إليه أيضًا بوصفه موصى به على موقع Node.js "لمعظم المستخدمين".
  • اتبع التعليمات الموجودة على صفحة الويب و/أو أثناء التثبيت، ثم ثبّت Node.js.

اختبار التثبيت

بعد انتهاء المثبّت، أو إكمال مدير الحزم، أو نسخ الملف الثنائي واتباع التعليمات، من الجيد اختبار ما إذا كان كل شيء على ما يرام.

  1. افتح طرفية (Terminal، cmd، Powershell، bash، ...)
  2. شغّل node -v

ينبغي أن يتطابق الإصدار مع الإصدار الموجود على الموقع.

ملاحظة: من المهم فتح نافذة طرفية جديدة. فربما لم تُحدَّث نوافذ الطرفية المفتوحة بعد اكتمال التثبيت. وهذا يعني أن الطرفيات المفتوحة لا تعرف أن برنامجًا جديدًا قد ثُبّت.

مساعدة: 'node' is not recognised

إذا كنت قد استخدمت المثبّت الرسمي، فقد يكون PATH لديك قد ضُبط تلقائيًا، لكن إذا واجهت الصدفة صعوبة في العثور على الوحدات المثبّتة عالميًا، أو إذا بنيت Node.js من المصدر، فحدّث PATH ليشمل ملفات npm الثنائية.

على macOS وLinux يمكنك فعل ذلك بإضافة ما يلي إلى ~/.bash_profile أو ~/.zshrc:

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

على Windows افتح قائمة ابدأ وابحث عن "environment variables". ستحتاج إلى تعديل مدخل PATH و_إضافة_ مسار ملفات npm الثنائية هنا. عادةً ما توجد هذه في C:\Program Files\nodejs. إذا تصفّحت هذا المسار باستخدام File Explorer، فينبغي أن تجد node.exe وnpm.bat وnpx.bat.

أغلق أي نوافذ طرفية مفتوحة وافتح نافذة جديدة.

متطلبات التمرين

اتبع هذه التعليمات لتنزيل واجهة سطر الأوامر الخاصة بـ Exercism لنظام تشغيلك.

بعد إعداد واجهة سطر الأوامر وتهيئتها، نزّل التمرين الأول hello-world:

exercism download --exercise=hello-world --track=wasm

ثم يحتاج كل تمرين إلى بعض الأدوات لتشغيل الاختبارات. ويمكن تثبيتها بتشغيل هذا الأمر داخل مجلد كل تمرين:

npm install

مساعدة: '<package>' is missing / cannot be found

إذا رأيت هذا بعد ترقية تمرينك، فأهلًا بك في npm 7. احذف node_modules وpackage-lock.json ثم أعد تشغيل الأمر لحل هذه المشكلة.

إذا كنت قلقًا بشأن مساحة القرص ولا مانع لديك من تثبيت أداة أخرى، فألقِ نظرة على pnpm، فهي تضمن تثبيت نسخة واحدة فقط من كل إصدار حزمة على القرص. في هذه الحالة، شغّل pnpm install بدلًا من npm install، وسيعمل كل شيء كما هو متوقع.

لكن ما هو npm ولماذا ينجح هذا؟

لا تحتاج إلى هذه المعلومات لإكمال مسار JavaScript، لكن إذا كنت متشوقًا لفهم ما حدث للتو، فالفقرات التالية لك:

ينجح هذا لأن npm مدير حزم يأتي مرفقًا مع Node.js، الذي ثُبّت وفق الخطوات أعلاه. يبحث الأمر npm عن ملف package.json، وهو موجود في مجلد كل تمرين. يسرد هذا الملف "dependencies" المذكورة أعلاه، ثم ينزّلها npm ويضعها في مجلد node_modules.

تستخدم السكربتات الموجودة في package.json الملفات الثنائية من مجلد node_modules المحلي، وهذه السكربتات هي المستخدمة لتشغيل الاختبارات، كما هو موضح في وصف exercise.