دليل تثبيت واستخدام npm على أوبونتو: كل ما يحتاجه مطور الويب المبتدئ والمحترف

目次

١. المقدمة

لماذا نستخدم npm على أوبونتو؟

أحد الأدوات الأساسية في تطوير الواجهة الأمامية والخلفية هو npm (مدير حزم نود). يُستخدم npm على نطاق واسع كأداة لإدارة حزم Node.js، مما يسمح بتثبيت مكتبات وأدوات JavaScript وإدارتها بسهولة.

استخدام npm في بيئة Ubuntu يمنحك أداءً عاليًا ومرونة في إدارة الحزم بفضل خصائص لينكس. أوبونتو يُعتبر من أكثر توزيعات لينكس شعبية بين المطورين ويُستخدم بكثرة لتشغيل الخوادم أو كبيئة تطوير محلية.

عند التعامل مع أطر عمل مبنية على Node.js (مثل Vue.js وReact وNext.js)، من الشائع إدارة الحزم باستخدام npm. إعداد هذه الأدوات على Ubuntu يسمح بإنشاء بيئة تطوير مستقرة وأكثر أمانًا مقارنة بـ Windows أو macOS.

هدف هذا المقال

في هذا المقال، سنشرح بالتفصيل كيفية تثبيت npm على أوبونتو وطريقة استخدامه بشكل عملي، مع التركيز على الخطوات الأساسية للمبتدئين، خصوصاً للفئات التالية:

  • المطورين الذين يستخدمون Ubuntu لأول مرة
  • الأشخاص الذين يواجهون صعوبة في إعداد Node.js أو npm
  • من يريد تعلم استخدام npm بطريقة منهجية

سنقدم أكثر من طريقة للتثبيت مع مزايا وعيوب كل خيار، بالإضافة لحلول شائعة للمشكلات وأوامر مفيدة، حتى يتمكن القارئ من استخدام npm على Ubuntu بسهولة.

侍エンジニア塾

٢. كيفية تثبيت Node.js وnpm على أوبونتو

لاستخدام npm على Ubuntu، يجب أولاً تثبيت Node.js، حيث أن npm يأتي مدمجًا معه.

سنستعرض هنا ثلاث طرق رئيسية لتثبيت Node.js وnpm على Ubuntu. كل طريقة لها مميزاتها واستخداماتها بحسب احتياجاتك.

الطريقة الأولى: استخدام مستودعات أوبونتو الرسمية

الخطوات

يتوفر Node.js في مستودعات Ubuntu القياسية، وهي أسهل طريقة مناسبة للمبتدئين.

sudo apt update
sudo apt install nodejs npm

بعد التثبيت، يمكنك التحقق من الإصدارات عبر الأوامر التالية:

node -v
npm -v

المزايا

  • أوامر بسيطة وسهلة
  • توفر نسخة مستقرة وآمنة

العيوب

  • قد تكون إصدارات Node.js/npm قديمة ولا تدعم أحدث الميزات

الطريقة الثانية: استخدام مستودع NodeSource

عبر مستودع NodeSource الرسمي، يمكنك تثبيت إصدار أحدث من Node.js وnpm.

الخطوات (مثال: تثبيت Node.js 18.x)

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

npm يُثبت تلقائياً مع Node.js.

المزايا

  • إمكانية استخدام إصدارات أحدث ومستقرة
  • إعداد سهل ومتوافق مع Ubuntu

العيوب

  • قد تحتاج لإدارة بعض تبعيات النظام كما في باقي المستودعات الإضافية

الطريقة الثالثة: استخدام nvm (مدير إصدارات Node)

إذا كنت تريد التبديل بين عدة إصدارات من Node.js بسهولة، فإن nvm هو الخيار الأكثر مرونة واحترافية.

الخطوات

أولاً، ثبّت nvm:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

بعد ذلك، أعد تحميل الصدفة (shell) وثبت Node.js:

source ~/.bashrc  # أو ~/.zshrc
nvm install 18
nvm use 18

npm سيثبت تلقائياً مع Node.js.

المزايا

  • حرية التبديل بين إصدارات Node.js المختلفة
  • تحديد الإصدار لكل مشروع بسهولة
  • لا يؤثر على النظام ككل، آمن للتجربة

العيوب

  • إجراءات التثبيت أكثر تعقيدًا قليلاً
  • تحتاج لتعديل إعدادات ملف التيرمنال أحيانًا

أي طريقة يجب أن أختار؟

الطريقةالسهولةحداثة الإصدارالمرونةالمستخدمين الموصى لهم
المستودع الرسمي★☆☆△ (قديم)×المبتدئين وتجربة أولية
NodeSource★★☆○ (حديث نسبيًا)المطورين العامين
nvm★★★◎ (مرن جدًا)من يعمل على عدة مشاريع أو محترفين

بشكل عام، إذا كنت تخطط للعمل على تطوير طويل المدى باستخدام npm على Ubuntu، ننصحك باستخدام nvm. أما إذا كنت تريد البدء بسرعة، فاستخدام NodeSource خيار جيد أيضًا.

٣. أساسيات استخدام npm

بعد إعداد بيئة Node.js وnpm على Ubuntu، يمكنك الآن إدارة الحزم بسهولة. npm أداة قوية لتثبيت وتحديث وحذف مكتبات JavaScript.

سنستعرض أهم الأوامر الأساسية:

تثبيت الحزم

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

لتثبيت مكتبة تُستخدم فقط داخل مشروعك الحالي:

npm install package-name

مثال: لتثبيت axios:

npm install axios

في هذه الطريقة، لا يمكن استخدام الحزمة إلا ضمن المشروع الحالي.

التثبيت العام (Global)

لأدوات تستخدمها على مستوى النظام (مثل CLI):

npm install -g package-name

مثال: لتثبيت http-server عالميًا:

sudo npm install -g http-server

في Ubuntu، قد تحتاج لاستخدام sudo مع -g.

إزالة الحزم

لحذف مكتبة لم تعد تحتاجها:

حذف محلي

npm uninstall package-name

حذف عام

sudo npm uninstall -g package-name

تحديث الحزم

لتحديث مكتبة إلى آخر إصدار:

تحديث مكتبة محددة

npm update package-name

تحديث كل التبعيات

npm update

يرجى ملاحظة أن التحديث يتم ضمن نطاق الإصدارات المحددة في package.json.

تثبيت حزم التطوير (—save-dev)

لتثبيت مكتبات تستخدم في التطوير فقط:

npm install --save-dev package-name

مثال: تثبيت jest كأداة اختبار:

npm install --save-dev jest

سيتم تسجيلها تحت devDependencies في package.json.

عرض قائمة الحزم

عرض الحزم المحلية

npm list

عرض الحزم المثبتة عالميًا

npm list -g --depth=0

يُظهر --depth=0 الحزم الرئيسية فقط.

إدارة التبعيات مع package.json

package.json هو ملف التكوين الرئيسي لأي مشروع npm، يحوي أسماء الإضافات وإعدادات المشروع.

لإنشاء package.json:

npm init

يمكنك تسريع العملية بإنشاء الملف بالإعدادات الافتراضية:

npm init -y

٤. المشاكل الشائعة وحلولها

قد تواجه بعض الأخطاء أثناء استخدام npm على Ubuntu، خصوصًا للمبتدئين. إليك أشهر المشكلات وحلولها.

ظهور خطأ الصلاحيات (Permission Error)

الأعراض

EACCES: permission denied

يظهر هذا الخطأ غالبًا عند محاولة التثبيت العام بدون صلاحيات كافية.

السبب

يحدث إذا لم يكن لديك إذن الكتابة في دليل تثبيت الحزم (غالباً /usr/lib/node_modules). في Ubuntu يتطلب ذلك استخدام sudo لأسباب أمنية.

الحل

  • نفذ الأمر مع sudo:
sudo npm install -g package-name
  • أو غير مجلد التثبيت الافتراضي للحزم العامة إلى مجلد المستخدم:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'

ثم أضف إلى ~/.bashrc أو ~/.profile التالي:

export PATH="$HOME/.npm-global/bin:$PATH"

ولتفعيل الإعدادات:

source ~/.bashrc

عدم التعرف على أمر npm أو عدم ضبط المسار

الأعراض

command not found: npm

أحياناً لا يتم التعرف على npm حتى بعد تثبيته.

السبب

  • لم يكتمل التثبيت بشكل صحيح
  • المسار لم يُضبط ضمن متغيرات البيئة

الحل

تحقق من المسار:

which npm

إذا لم تظهر نتيجة، أعد التثبيت أو تحقق من إعدادات shell (خاصة عند استخدام nvm):

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

مشكلة تثبيت أو تعارض الحزم

الأعراض

  • ظهور تعارض في الإصدارات أثناء التثبيت
  • الكثير من التحذيرات عند تنفيذ npm install

السبب

غالبًا بسبب تعارضات في تبعيات الحزم أو استخدام إضافات قديمة أو غير مدعومة.

الحل

  • تثبيت الإصدار الأحدث:
npm install package-name@latest
  • تحقق من التبعيات:
npm ls package-name
  • فرض التثبيت (غير موصى به غالبًا):
npm install --legacy-peer-deps
  • احذف node_modules وpackage-lock.json وأعد التثبيت:
rm -rf node_modules package-lock.json
npm install

طرق تصحيح الأخطاء المفيدة

  • npm doctor: يفحص البيئة بحثًا عن مشاكل
npm doctor
  • npm audit: يفحص المشاكل الأمنية ويوفر حلولًا
npm audit
npm audit fix

غالبية رسائل الأخطاء في npm تظهر بالإنجليزية. حاول قراءة نص الخطأ بعناية للعثور على الحل المناسب.

٥. الأسئلة الشائعة (FAQ)

نستعرض هنا أكثر الأسئلة شيوعًا حول استخدام npm على Ubuntu، مع إجابات مختصرة وعملية.

س1: كيف يمكن تحديث npm إلى آخر إصدار على Ubuntu؟

ج1:

نفذ الأمر التالي:

sudo npm install -g npm@latest

إذا كنت تستخدم nvm، لا حاجة لـ sudo:

npm install -g npm@latest

للتحقق من الإصدار:

npm -v

س2: ما الفرق بين التثبيت المحلي والتثبيت العام في npm؟

ج2:

  • التثبيت المحلي:
  • إدارة تبعيات كل مشروع على حدة
  • الحزم تحفظ في مجلد node_modules داخل المشروع
  • سهل المشاركة بين المطورين عبر package.json
  • التثبيت العام:
  • يستخدم للأدوات العامة مثل CLI
  • عادة تُثبت في /usr/lib/node_modules على Ubuntu
  • قد تحتاج لاستخدام sudo

س3: ما مزايا استخدام nvm؟

ج3:

nvm (مدير إصدارات Node) يمكنك من:

  • استخدام نسخ مختلفة من Node.js في مشاريع مختلفة
  • حماية النظام من التغييرات الجذرية
  • إدارة إصدارات npm تلقائيًا لكل نسخة Node.js

س4: ماذا أفعل إذا تعطلت تبعيات npm؟

ج4:

احذف node_modules وpackage-lock.json ثم أعد التثبيت:

rm -rf node_modules package-lock.json
npm install

إذا استمرت المشكلة، جرب:

npm ci

س5: هل التحذيرات (WARN) أو نتائج “audit” مشكلة خطيرة؟

ج5:

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

npm audit fix

وللاحتياط، يُنصح بمراجعة التغييرات مع نظام التحكم في النسخ (Git) قبل تطبيقها.

س6: ماذا يمكنني تطويره باستخدام npm على Ubuntu؟

ج6:

npm هو بوابتك إلى عالم JavaScript. يمكنك تطوير التالي:

  • بيئة تطوير الواجهات (React، Vue، Svelte…)
  • مولدات المواقع الثابتة (Next.js، Nuxt…)
  • تطوير الخوادم (Express، NestJS…)
  • أدوات سطر الأوامر (CLI)
  • بيئات الاختبار (Jest، Mocha…)

استخدام npm على Ubuntu يوفر بيئة تطوير قوية وموثوقة مع دعم واسع من مجتمع المصادر المفتوحة.

٦. الخلاصة: إتقان npm على أوبونتو

في هذا المقال، تعرفنا على خطوات تثبيت واستخدام npm على أوبونتو، وأهم الأوامر والمشكلات الشائعة. إليك النقاط الأهم:

أهم النقاط

  • ما هو npm: أداة إدارة الحزم المدمجة مع Node.js لزيادة الإنتاجية في التطوير
  • طرق التثبيت: مستودع Ubuntu الرسمي، NodeSource، أو nvm حسب احتياجك
  • الاستخدام الأساسي: تثبيت، حذف، تحديث الحزم وإدارة التبعيات بسهولة
  • حلول للمشاكل: نصائح فعالة لحل مشاكل الأذونات أو التبعيات أو التحديثات
  • الأسئلة الشائعة: إجابات مختصرة لأكثر مشاكل واحتياجات المطورين

نصيحة للمبتدئين

Ubuntu وnpm يشكلان بيئة تطوير رائعة لمشاريع الويب الحديثة. لا تقلق من الأخطاء في البداية؛ مع كل تجربة ستزداد خبرتك كمطور.

الأهم هو التجربة العملية: نفذ الأوامر وتعلم من نتائجها. مع الوقت ستصبح أكثر كفاءة في التعامل مع npm.

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

تابعنا للحصول على المزيد من المقالات حول لينكس وتطوير الواجهة الأمامية، ولا تنسَ مشاركة المقال على شبكات التواصل!