Reference OS v8 5 دقائق قراءة ٢٦ يونيو ٢٠٢٦ informational Nub.js: دليل التثبيت والتشغيل والأخطاء الشائعة بعد قراءة هذا الدليل، ستتمكن من تثبيت Nub.js وتشغيل مثال Temporal دون ترقية Node.js، مع تجنب…

Show HN: Nub – A Bun-like all-in-one toolkit for Node.js
اختر القسم الذي تحتاجه الآن
الفكرة التي تمنع التسرع
إذا كنت تريد تجربة Temporal أو Worker دون ترقية Node.js، فابدأ هنا. لكن احذر: README المشروع غير واضح وقد تواجه أخطاء غير متوقعة.
قبل أن تطبق، اعرف أين تقف بالضبط
لا تعتمد على الانطباع؛ اختر مؤشراً تراجعه
إذا كنت تريد تجربة Temporal أو Worker دون ترقية Node.js، فابدأ هنا. Nub.js هي أداة CLI تعمل كطبقة فوق Node.js، تضيف محول Oxc السريع ودعمًا لـ APIs الحديثة. لكن README المشروع غير واضح، لذا هذا الدليل يقدم خطوات عملية مع تحذيرات لمساعدتك على التثبيت والتشغيل بأمان.
Nub.js هي أداة سطر أوامر (CLI) تعمل كطبقة فوق Node.js. لا تستبدل Node.js، بل تضيف ميزات مثل: محول سريع (Oxc)، دعم للـ APIs الحديثة (مثل Temporal، Worker)، وتحسينات في تحميل الوحدات. الفكرة: تشغل كودك العادي مع ميزات إضافية دون تغيير بيئتك.
يحتاجه: المطور الذي يريد تجربة ميزات حديثة (Temporal, Worker) دون ترقية Node.js، أو من يبحث عن سرعة ترجمة أفضل. لا يحتاجه: من يستخدم Node.js أحدث إصدار وكل ميزاته متوفرة، أو من يعمل على مشروع إنتاجي حساس للاستقرارية.
تحذير: README المشروع غير واضح تمامًا، لذا الخطوات التالية مبنية على بنية المشروع وقد لا تعمل. يُنصح بمراجعة المصدر الرسمي أو Issues.
npm install -g nub (قد تحتاج صلاحيات sudo على Unix)nub --versionnpx nub --versionحتى الآن، لا يتطلب Nub.js ملف .env خاص. لكن قد تحتاج لتعيين متغيرات بيئة Node.js العادية (مثل NODE_ENV). إذا ظهر خطأ يتعلق بمتغيرات البيئة، راجع Issues.
لنقم بإنشاء تطبيق بسيط يستخدم 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 بسبب اختلافات في تحميل الوحدات. اختبر مشروعك جيدًا قبل الاعتماد عليه.
معظمها، لكن قد تظهر مشاكل مع المكتبات التي تعتمد على ميزات داخلية. اختبر مشروعك أولاً.
Bun هو runtime كامل يستبدل Node.js، بينما Nub.js هو طبقة إضافية فوق Node.js.
لا ننصح بذلك حالياً بسبب عدم الاستقرار وقلة التوثيق.
خطوات عملية مرتبة من التشخيص إلى النتيجة
لماذا؟ لتتمكن من استخدام أمر nub من أي مسار
كيف؟ npm install -g nub (قد تحتاج sudo على Unix)
الناتج: تظهر رسالة نجاح التثبيت
لماذا؟ للتأكد من أن الأمر متاح
كيف؟ nub --version أو npx nub --version
الناتج: رقم الإصدار (مثلاً 0.1.0)
لماذا؟ لتجربة Temporal مع Nub.js
كيف؟ أنشئ ملف scheduler.js بالمحتوى المذكور في المقال
الناتج: ملف scheduler.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 حالياً
جدول صغير يمنع التسويف
نقاط مختصرة ترجع لها لاحقاً
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.
كود يضيف دعم لميزة غير مدعومة في البيئة الحالية.
استخدمها كمسارات متابعة داخل نفس الموضوع
تحول القارئ: من متابع سلبي لأخبار التقنية إلى ممارس نشط يجرب أدوات جديدة بنفسه.
القيمة الحقيقية تظهر عند العودة والتطبيق
لا تتعامل معه كمقال يُقرأ مرة واحدة. استخدمه كلوحة تشغيل: ارجع للتشخيص عند ظهور المشكلة، وللقوالب عند التطبيق، ولمؤشرات القياس عند المراجعة.
Nub.js أداة واعدة تستحق التجربة، خاصة إذا كنت تبحث عن تحسين أداء الترجمة أو تجربة ميزات حديثة مثل Temporal. لكن تذكر أنها جديدة وغير مستقرة، لذا استخدمها في بيئة تطويرية أولاً. إذا واجهت أي مشاكل، راجع Issues على GitHub أو شارك تجربتك في التعليقات.
حتى يبقى المرجع صالحاً مع الوقت
FAQ