ثبّت Node.js بحماس، فتحت الطرفية، كتبت node -v... فردّت:
'node' is not recognized as an internal or external command,
operable program or batch file.
أو على ماك/لينكس:
bash: node: command not found
هذا الخطأ ليس عن Node تحديدًا — ستقابله مع npm وpython وgit وpip
وكل أداة سطر أوامر. ومفتاح حله كله مفهوم واحد: PATH.
كيف تجد الطرفية الأوامر أصلًا؟
عندما تكتب node لا تفتش الطرفية جهازك كله — بل تمشي على قائمة مجلدات
محددة اسمها PATH بالترتيب، وأول ملف تنفيذي بهذا الاسم تجده تشغّله.
الاسم غير موجود بأي مجلد من القائمة؟ command not found — حتى لو كانت
الأداة مثبتة في مكان آخر.
يعني الخطأ واحد من ثلاثة فقط:
| الاحتمال | الفحص | الحل |
|---|---|---|
| غير مثبتة فعلًا | لا تجدها بمجلدات البرامج | ثبّتها |
| مثبتة خارج PATH | موجودة لكن الطرفية عمياء عنها | أضف مجلدها لـ PATH |
| PATH تحدّث والطرفية قديمة | ثبّتت للتو والخطأ مستمر | أعد فتح الطرفية |
الحل خطوة بخطوة
1) أعد فتح الطرفية — جديًّا
الطرفية تقرأ PATH لحظة فتحها فقط. ثبّت أداة والنافذة مفتوحة؟ لن تراها أبدًا مهما أعدت المحاولة. أغلق كل النوافذ — وVS Code كاملًا إن كنت تستخدم طرفيته المدمجة — وافتح من جديد. يحل نصف الحالات وحده.
2) تأكد أنها مثبتة وأين
# ويندوز (PowerShell)
where.exe node
# ماك / لينكس
which node
- طبع مسارًا: مثبتة والطرفية تراها — مشكلتك بمكان آخر (صدفة مختلفة؟).
- لا شيء: إما غير مثبتة أو خارج PATH — أكمل.
3) ويندوز: أعد التثبيت مع خيار PATH
أسهل طريق على ويندوز: أعد تشغيل مثبّت الأداة، وتأكد من تفعيل الخيار الشهير:
[✓] Add to PATH
(مثبّتات Node وGit وPython كلها تعرضه — ومثبّت Python يجعله غير مفعّل افتراضيًا، وهذه أشهر مصيدة للمبتدئين على الإطلاق 🎯).
يدويًا إن لزم: ابحث بقائمة ابدأ عن "Edit the system environment variables"
← Environment Variables ← Path ← Edit ← New ← الصق مجلد الأداة (مثل
C:\Program Files\nodejs\) ← موافق، ثم أعد فتح الطرفية.
4) ماك / لينكس: أضف المجلد لملف صدفتك
اعرف صدفتك (echo $SHELL) ثم أضف السطر لملفها:
# zsh (ماك الحديث) → ~/.zshrc · bash → ~/.bashrc
export PATH="$PATH:/المسار/إلى/مجلد/الأداة"
ثم أعد تحميلها: source ~/.zshrc أو افتح طرفية جديدة.
💡 وإن ظهر
Permission deniedبدل not found فالأداة موجودة لكن بلا إذن تنفيذ — قصة أخرى دليلها هنا.
5) حالة npm الخاصة: الحزم العالمية
npm install -g some-tool ثم some-tool: command not found؟ مجلد الحزم
العالمية نفسه خارج PATH. اعرفه بـ:
npm config get prefix
وأضف <الناتج>/bin (لينكس/ماك) أو الناتج نفسه (ويندوز) إلى PATH بنفس
خطوات الأعلى.
قائمة تحقّق سريعة
- أغلق كل الطرفيات وVS Code وافتح من جديد — أولًا دائمًا.
where.exe/which— مثبتة أصلًا؟ وأين؟- ويندوز: أعد التثبيت مع ✓ Add to PATH (بايثون خصوصًا!).
- ماك/لينكس: السطر في ملف صدفتك أنت (zshrc/bashrc).
- أدوات npm العالمية: أضف
npm config get prefixللقائمة.
الخلاصة
command not found لا يعني «الأداة غير موجودة» بل «الطرفية لا تعرف أين
تبحث». افهم PATH مرة واحدة — قائمة مجلدات تُفتّش بالترتيب — وستحل هذا
الخطأ لأي أداة قادمة في دقيقة: أعد فتح الطرفية، تحقق بـ which/where،
وأضف المجلد الناقص.
رسّخ أساسيات الطرفية في مسار لينكس بالعربي، وأكمل أخطاء بيئة العمل مع حل أخطاء pip install و حل fatal: not a git repository.