Nub.js: دليل التثبيت والتشغيل والأخطاء الشائعة
Show HN: Nub – A Bun-like all-in-one toolkit for Node.js
خريطة الصفحة
اختر القسم الذي تحتاجه الآن
- ما هو Nub.js؟ شرح مبسط للمطور العربي
- من يحتاج Nub.js ومن لا؟
- المميزات الرئيسية
- المتطلبات الأساسية
- خطوات تركيب Nub.js
- شرح ملف .env (إن وجد)
- مثال عملي: استخدام Temporal لجدولة مهمة
- أخطاء شائعة وحلولها
- تحذيرات: توافق المكتبات الشائعة
- بدائل Nub.js: مقارنة مع Bun و Deno و Node.js العادي
- الأسئلة الشائعة (FAQ)
قبل أن تطبق
الفكرة التي تمنع التسرع
إذا كنت تريد تجربة Temporal أو Worker دون ترقية Node.js، فابدأ هنا. لكن احذر: README المشروع غير واضح وقد تواجه أخطاء غير متوقعة.
أسئلة التشخيص السريع
قبل أن تطبق، اعرف أين تقف بالضبط
- هل إصدار Node.js لديك 18 أو أحدث؟
- هل جربت تشغيل nub --version بعد التثبيت؟
- هل تستخدم مكتبات مثل Express أو Mongoose؟
- هل تحتاج فعلاً لميزات Temporal أو Worker؟
- هل مشروعك إنتاجي أم تجريبي؟
- هل واجهت خطأ 'command not found'؟
- هل جربت npx nub run بدلاً من nub run؟
نظام التشغيل: Input → Process → Output
لوحة قياس النجاح
لا تعتمد على الانطباع؛ اختر مؤشراً تراجعه
إذا كنت تريد تجربة Temporal أو Worker دون ترقية Node.js، فابدأ هنا. Nub.js هي أداة CLI تعمل كطبقة فوق Node.js، تضيف محول Oxc السريع ودعمًا لـ APIs الحديثة. لكن README المشروع غير واضح، لذا هذا الدليل يقدم خطوات عملية مع تحذيرات لمساعدتك على التثبيت والتشغيل بأمان.
ما هو Nub.js؟ شرح مبسط للمطور العربي
Nub.js هي أداة سطر أوامر (CLI) تعمل كطبقة فوق Node.js. لا تستبدل Node.js، بل تضيف ميزات مثل: محول سريع (Oxc)، دعم للـ APIs الحديثة (مثل Temporal، Worker)، وتحسينات في تحميل الوحدات. الفكرة: تشغل كودك العادي مع ميزات إضافية دون تغيير بيئتك.
من يحتاج Nub.js ومن لا؟
يحتاجه: المطور الذي يريد تجربة ميزات حديثة (Temporal, Worker) دون ترقية Node.js، أو من يبحث عن سرعة ترجمة أفضل. لا يحتاجه: من يستخدم Node.js أحدث إصدار وكل ميزاته متوفرة، أو من يعمل على مشروع إنتاجي حساس للاستقرارية.
المميزات الرئيسية
- محول Oxc فائق السرعة (مكتوب بلغة Rust)
- دعم Temporal و Worker عبر polyfills (حسب README، لكن غير مؤكد)
- لا تغيير في الكود الأصلي
- سهولة التبديل بين nub و node
المتطلبات الأساسية
- Node.js الإصدار 18.0.0 أو أحدث (يُفضل 20)
- npm >=8
- نظام تشغيل: Windows, macOS, Linux
خطوات تركيب Nub.js
تحذير: README المشروع غير واضح تمامًا، لذا الخطوات التالية مبنية على بنية المشروع وقد لا تعمل. يُنصح بمراجعة المصدر الرسمي أو Issues.
- تثبيت Nub.js عبر npm:
npm install -g nub(قد تحتاج صلاحيات sudo على Unix) - تأكد من نجاح التثبيت:
nub --version - إذا ظهر خطأ، جرب:
npx nub --version
شرح ملف .env (إن وجد)
حتى الآن، لا يتطلب Nub.js ملف .env خاص. لكن قد تحتاج لتعيين متغيرات بيئة Node.js العادية (مثل NODE_ENV). إذا ظهر خطأ يتعلق بمتغيرات البيئة، راجع Issues.
مثال عملي: استخدام Temporal لجدولة مهمة
لنقم بإنشاء تطبيق بسيط يستخدم Temporal لجدولة مهمة كل 5 ثوانٍ:
// scheduler.js
const { Temporal } = require('@js-temporal/polyfill');
const now = Temporal.Now.plainDateTimeISO();
console.log('Current time:', now.toString());
// جدولة مهمة بعد 5 ثوانٍ
setTimeout(() => {
console.log('Task executed at:', Temporal.Now.plainDateTimeISO().toString());
}, 5000);شغله باستخدام Nub.js: nub run scheduler.js
أخطاء شائعة وحلولها
تحذيرات: توافق المكتبات الشائعة
قد لا تعمل بعض المكتبات الشائعة مثل Express أو Mongoose بشكل كامل مع Nub.js بسبب اختلافات في تحميل الوحدات. اختبر مشروعك جيدًا قبل الاعتماد عليه.
بدائل Nub.js: مقارنة مع Bun و Deno و Node.js العادي
الأسئلة الشائعة (FAQ)
هل Nub.js متوافق مع جميع مشاريع Node.js الحالية؟
معظمها، لكن قد تظهر مشاكل مع المكتبات التي تعتمد على ميزات داخلية. اختبر مشروعك أولاً.
ما الفرق بين Nub.js و Bun؟
Bun هو runtime كامل يستبدل Node.js، بينما Nub.js هو طبقة إضافية فوق Node.js.
هل يمكن استخدام Nub.js في الإنتاج؟
لا ننصح بذلك حالياً بسبب عدم الاستقرار وقلة التوثيق.
Playbook التطبيق
خطوات عملية مرتبة من التشخيص إلى النتيجة
تثبيت Nub.js عالمياً
لماذا؟ لتتمكن من استخدام أمر nub من أي مسار
كيف؟ npm install -g nub (قد تحتاج sudo على Unix)
الناتج: تظهر رسالة نجاح التثبيت
التحقق من التثبيت
لماذا؟ للتأكد من أن الأمر متاح
كيف؟ nub --version أو npx nub --version
الناتج: رقم الإصدار (مثلاً 0.1.0)
إنشاء ملف تجريبي
لماذا؟ لتجربة Temporal مع Nub.js
كيف؟ أنشئ ملف scheduler.js بالمحتوى المذكور في المقال
الناتج: ملف scheduler.js جاهز
تشغيل الملف باستخدام Nub.js
لماذا؟ لتشغيل الكود مع دعم Temporal
كيف؟ nub run scheduler.js
الناتج: طباعة الوقت الحالي ثم بعد 5 ثوانٍ
معالجة الأخطاء إن وجدت
لماذا؟ لحل المشكلات الشائعة
كيف؟ راجع جدول الأخطاء في المقال
الناتج: تشغيل ناجح
قوالب جاهزة للنسخ
حوّل القراءة إلى تنفيذ سريع
const { Temporal } = require('@js-temporal/polyfill');
const now = Temporal.Now.plainDateTimeISO();
console.log('Current time:', now.toString());
setTimeout(() => {
console.log('Task executed at:', Temporal.Now.plainDateTimeISO().toString());
}, 5000);مصفوفة الأخطاء
اعرف أين يتعثر الناس وكيف تتجنب ذلك
شجرة القرار
ماذا تفعل حسب حالتك؟
إذا: إذا كان إصدار Node.js >=18
إذن: تابع التثبيت
إذا: إذا ظهر خطأ 'command not found'
إذن: استخدم npx nub أو أعد التثبيت مع sudo
إذا: إذا كنت تحتاج Temporal أو Worker
إذن: استخدم Nub.js
إذا: إذا كان المشروع إنتاجياً
إذن: لا تستخدم Nub.js حالياً
خطة تطبيق 7 أيام
جدول صغير يمنع التسويف
- اليوم 1: تثبيت Nub.js وتشغيل مثال Temporal
- اليوم 2: اختبار مشروعك الحالي مع Nub.js
- اليوم 3: مقارنة الأداء مع Node.js العادي
- اليوم 4: تجربة Worker API
- اليوم 5: توثيق الأخطاء التي واجهتها
- اليوم 6: مشاركة التجربة في Issues المشروع
- اليوم 7: اتخاذ قرار الاستمرار أو التبديل
حقائق سريعة تحفظها
نقاط مختصرة ترجع لها لاحقاً
1. Nub.js هي طبقة CLI فوق Node.js، وليس runtime بديل.
2. تضيف محول Oxc السريع المكتوب بلغة Rust.
3. تدعم Temporal و Worker عبر polyfills.
4. لا تتطلب تغيير الكود الأصلي.
5. تحتاج Node.js >=18.
6. غير مستقرة للإنتاج حالياً.
7. يمكن التبديل بين nub و node بسهولة.
8. تثبيتها: npm install -g nub.
9. تشغيل ملف: nub run file.js.
أسئلة شائعة
إجابات مباشرة على ما يبحث عنه الزائر
مصطلحات سريعة
تعريفات مختصرة تمنع الالتباس
واجهة سطر أوامر، أداة تستخدم من خلال الطرفية.
محول JavaScript سريع مكتوب بلغة Rust.
API حديثة للتعامل مع التاريخ والوقت في JavaScript.
كود يضيف دعم لميزة غير مدعومة في البيئة الحالية.
أسئلة مرتبطة يبحث عنها الناس
استخدمها كمسارات متابعة داخل نفس الموضوع
لماذا هذا المرجع يتجاوز الموضوع نفسه؟
تحول القارئ: من متابع سلبي لأخبار التقنية إلى ممارس نشط يجرب أدوات جديدة بنفسه.
- أدوات تطوير Node.js
- مشاريع Hacker News
- تحسين أداء JavaScript
كيف تستخدم هذا المرجع لاحقاً؟
القيمة الحقيقية تظهر عند العودة والتطبيق
لا تتعامل معه كمقال يُقرأ مرة واحدة. استخدمه كلوحة تشغيل: ارجع للتشخيص عند ظهور المشكلة، وللقوالب عند التطبيق، ولمؤشرات القياس عند المراجعة.
Nub.js أداة واعدة تستحق التجربة، خاصة إذا كنت تبحث عن تحسين أداء الترجمة أو تجربة ميزات حديثة مثل Temporal. لكن تذكر أنها جديدة وغير مستقرة، لذا استخدمها في بيئة تطويرية أولاً. إذا واجهت أي مشاكل، راجع Issues على GitHub أو شارك تجربتك في التعليقات.
خطة تحديث هذا الدليل
حتى يبقى المرجع صالحاً مع الوقت
- تحقق من إصدار Nub.js الجديد كل شهر
- تحديث قائمة الأخطاء بناءً على Issues
- إضافة أمثلة جديدة عند إصدار ميزات
- مراجعة توافق المكتبات الشائعة

التعليقات (0)
لا توجد تعليقات بعد. كن أول من يبدأ النقاش 👇