Node.js: التثبيت والإعداد

آخر تحديث: 2026-08-26

بوب هو مطور واجهة مستخدم بدأ للتو العمل في شركة تكنولوجية. في يومه الأول، أعطاه مرشده رابط مستودع المشروع. وبعد استنساخه، قام بتشغيل npm install لكنه واجه عددًا كبيرًا من الأخطاء — وتبين أن مشروع الشركة كان يستخدم Node.js 22 LTS، في حين أنه كان لا يزال يستخدم الإصدار الأقدم 18 على جهازه المحلي. ووجد بوب نفسه في مأزق لأنه كان قلقًا من أن تؤثر الترقية المباشرة على المشاريع القديمة الأخرى. لحسن الحظ، أوصاه مرشده باستخدام nvm، مما سمح له بالتبديل بحرية بين إصدارات Node.js المختلفة، وضمان استخدام كل مشروع للإصدار المتوافق معه دون التداخل مع المشاريع الأخرى. ومنذ ذلك الحين، لم يعد بوب قلقًا بشأن تعارضات الإصدارات أبدًا.

ما ستتعلمه


1. تثبيت nvm واستخدامه

(1) لماذا نحتاج إلى nvm؟

يتم تحديث Node.js بشكل متكرر، وقد تعتمد المشاريع المختلفة على إصدارات مختلفة. يتيح لك nvm (مدير إصدارات Node) تثبيت إصدارات متعددة من Node.js على نفس الجهاز والتبديل بينها حسب الحاجة، مما يساعد على تجنب تعارضات الإصدارات.

(2) تثبيت nvm

macOS / Linux:

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

بمجرد اكتمال التثبيت، أعد تشغيل المحطة الطرفية أو قم بتشغيل الأمر التالي:

BASH
source ~/.bashrc

ويندوز:

يمكن لمستخدمي Windows استخدام nvm-windows. بعد تنزيل برنامج التثبيت، اتبع إرشادات المعالج لإكمال عملية التثبيت.

▶ مثال:(3) تثبيت إصدارات Node.js والتبديل بينها

BASH
nvm install 22
nvm use 22
nvm alias default 22
الأمر الوصف
nvm install <version> تثبيت إصدار معين
nvm use <version> التبديل إلى إصدار معين
nvm ls عرض قائمة الإصدارات المثبتة
nvm ls-リモート قائمة بالإصدارات المتاحة لـ リモート
nvm alias default <version> تعيين كإصدار افتراضي
nvm current إظهار الإصدار المستخدم حاليًا

▶ مثال: تثبيت Node.js 22 LTS والتبديل

BASH
$ nvm install 22
Downloading and installing node v22.11.0...
Now using node v22.11.0 (npm v10.9.0)

$ nvm use 22
Now using node v22.11.0 (npm v10.9.0)

$ nvm current
v22.11.0

(4) مقارنة بين طرق تثبيت Node.js

الطريقة المزايا العيوب الحالات المناسبة
حزمة التثبيت الرسمية عملية تثبيت بسيطة وسهلة الاستخدام بنقرة واحدة صعوبة في التبديل بين الإصدارات، وصعوبة في إلغاء التثبيت المبتدئون الذين يستخدمون إصدارًا واحدًا فقط
nvm يدعم استخدام إصدارات متعددة في آن واحد، مع إمكانية التبديل بمرونة يتطلب تثبيت nvm بشكل منفصل المطورون الذين يعملون على مشاريع متعددة ويستخدمون إصدارات متعددة
مدير الحزم (apt/brew) متكامل جيدًا مع النظام قد تكون الإصدارات قديمة؛ والتبديل غير مريح بيئة خادم لينكس


2. التحقق من تثبيت Node.js

(1) التحقق من إصدار Node.js

بمجرد اكتمال التثبيت، افتح «المحطة الطرفية» وأدخل:

BASH
node --version

إذا كان الناتج على شكل v22.11.0، فهذا يعني أن Node.js قد تم تثبيته بشكل صحيح.

(2) التحقق من إصدار npm

يتم تثبيت npm مع Node.js. للتحقق من ذلك:

BASH
npm --version

إذا كان الناتج على شكل 10.9.0، فهذا يعني أن npm متاح.

▶ مثال: عملية التحقق الكاملة

BASH
$ node --version
v22.11.0

$ npm --version
10.9.0

$ node -e "console.log('Node.js is working!')"
Node.js is working!

نصيحة: تتيح لك node -e تنفيذ سطر واحد من كود جافا سكريبت مباشرةً، وهو أمر مفيد لإجراء اختبارات سريعة.



3. بيئة REPL التفاعلية

(1) الدخول إلى REPL والخروج منه

اكتب node في المحطة الطرفية للدخول إلى بيئة REPL (حلقة القراءة والتقييم والطباعة) التفاعلية:

BASH
node

للخروج: أدخل .exit أو اضغط على Ctrl + C مرتين.

(2) الأوامر الشائعة في REPL

الأمر الوصف
.help عرض المساعدة
.exit الخروج من REPL
.save <file> حفظ الجلسة الحالية في ملف
.load <file> تحميل ملف إلى الجلسة
.clear مسح السياق الحالي
.editor الدخول إلى وضع التحرير (التحرير متعدد الأسطر)

(3) الإدخال متعدد الأسطر

يقوم برنامج REPL تلقائيًّا باكتشاف الأقواس العادية والأقواس المتعرجة غير المغلقة، ويدخل في وضع الإدخال متعدد الأسطر:

JAVASCRIPT
> function add(a, b) {
...   return a + b;
... }
undefined
> add(3, 5)
8

▶ مثال: اختبار الكود بسرعة في REPL

JAVASCRIPT
> const prices = [9.99, 24.5, 3.75, 18.0]
undefined
> prices.filter(p => p > 10).reduce((sum, p) => sum + p, 0)
42.5
> const total = prices.reduce((sum, p) => sum + p, 0)
undefined
> total
56.24
▶ جرّب الكود

4. تشغيل البرنامج النصي الأول

(1) إنشاء ملف JavaScript

أنشئ ملفًا جديدًا باسم hello.js:

JAVASCRIPT
const greeting = 'Hello, Node.js!';
console.log(greeting);

const version = process.version;
console.log(`Running on ${version}`);

▶ مثال:(2) التشغيل باستخدام الأمر node

BASH
node hello.js

▶ مثال: تشغيل برنامج نصي وتمرير المعلمات

من إعداد greet.js:

JAVASCRIPT
const name = process.argv[2] || 'World';
console.log(`Hello, ${name}!`);
console.log(`Node version: ${process.version}`);
console.log(`Current directory: ${process.cwd()}`);
▶ جرّب الكود

تنفيذ:

BASH
$ node greet.js Bob
Hello, Bob!
Node version: v22.11.0
Current directory: /home/bob/projects/demo

(3) مقدمة عن الكائن process

process هو كائن عالمي في Node.js يمكن استخدامه دون require. الخصائص الشائعة:

العقار الوصف
process.version إصدار Node.js
process.argv مصفوفة معلمات سطر الأوامر
process.cwd() الدليل الحالي
process.env كائن متغير بيئي
process.exit() إنهاء العملية


5. إنشاء ملف package.json

▶ مثال:(1) إنشاء تفاعلي باستخدام npm init

BASH
npm init

سيطلب منك npm إدخال معلومات مثل اسم المشروع والإصدار والوصف واحدة تلو الأخرى، وسيقوم في النهاية بإنشاء package.json.

▶ مثال:(2) استخدم npm init -y لإنشاء مشروع بسرعة

BASH
npm init -y

-y يتخطى جميع الأسئلة ويقوم بإنشاء package.json باستخدام القيم الافتراضية، مما يجعله خيارًا مثاليًّا للبدء السريع.

▶ مثال: ملف package.json الذي أنشأه npm init -y

BASH
$ mkdir my-app && cd my-app
$ npm init -y
JSON
{
  "name": "my-app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

(3) وصف الحقول الرئيسية في ملف package.json

الحقل الوصف مثال
name اسم المشروع، حقل إلزامي، بأحرف صغيرة وبدون مسافات "my-app"
version رقم الإصدار الدلالي، مطلوب "1.0.0"
description وصف المشروع "A sample project"
main ملف الإدخال "index.js"
scripts أوامر البرامج النصية المخصصة {"start": "node index.js"}
dependencies التبعيات الإنتاجية {"express": "^4.21.0"}
devDependencies تبعيات التطوير {"jest": "^29.7.0"}
license ترخيص مفتوح المصدر "MIT"

(4) ترميز نطاق الإصدار الدلالي

الرمز المعنى مثال الإصدارات المسموح بها
لا شيء مطابقة تامة "1.2.3" 1.2.3 فقط
^ متوافق مع الإصدارات الرئيسية "^1.2.3" ≥1.2.3، <2.0.0
~ متوافق مع الإصدارات الفرعية "~1.2.3" ≥1.2.3، <1.3.0
>= أكبر من أو يساوي ">=1.2.3" 1.2.3 وما فوق


6. أدوات التطوير الشائعة

(1) تثبيت VS Code وتهيئته

يُعد VS Code المحرر الأكثر شيوعًا لتطوير Node.js، حيث يضم محطة طرفية ومُصحح أخطاء مدمجين.

(2) ملحقات Node.js الموصى بها

اسم الملحق الوظيفة
حزمة ملحقات Node.js مجموعة من ملحقات تطوير Node.js
ESLint فحوصات أسلوب الكود
Prettier تنسيق الكود
Code Runner تشغيل مقتطفات الكود بسرعة
npm IntelliSense الإكمال التلقائي لأسماء وحدات npm

(3) المحطة الطرفية المدمجة في VS Code

استخدم اختصار لوحة المفاتيح Ctrl + لفتح المحطة الطرفية المدمجة، حتى لا تضطر إلى التبديل بين المحرر والمحطة الطرفية.

▶ مثال: تهيئة VS Code لتصحيح أخطاء Node.js

أنشئ ملف .vscode/launch.json في الدليل الجذري للمشروع:

JSON
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/index.js"
    }
  ]
}

اضغط على F5 لبدء عملية تصحيح الأخطاء.



7. عملية إدارة الإصدارات المتعددة من Node.js باستخدام nvm

100%
flowchart TD
    A[Installation nvm] --> B[nvm install 22]
    B --> C[nvm install 18]
    C --> D[nvm use 22]
    D --> E{Project Switching?}
    E -->|Enter the Project A| F[nvm use 22]
    E -->|Enter the Project B| G[nvm use 18]
    F --> H[node --version Verification]
    G --> H
    H --> I[Run Project]
    I --> E


8. مثال شامل: إنشاء مشروع Node.js من الصفر

يوضح الدليل التفصيلي التالي العملية بأكملها، بدءًا من تثبيت Node.js وحتى تشغيل أول برنامج نصي لك:

BASH
# 1. Install and switch to Node.js 22 LTS
nvm install 22
nvm use 22

# 2. Verify the Installation
node --version
npm --version
TEXT 📖 للعرض فقط
v22.11.0
10.9.0
BASH
# 3. Create a project directory and initialize it
mkdir bob-project
cd bob-project
npm init -y

من إعداد index.js:

JAVASCRIPT
const projectName = require('./パッケージ.json').name;
const version = process.version;

console.log(`Project: ${projectName}`);
console.log(`Node.js: ${version}`);
console.log(`Directory: ${process.cwd()}`);

const アイテム = ['setup', 'config', 'deploy'];
アイテム.forEach((item, index) => {
  console.log(`Step ${index + 1}: ${item}`);
});

المشاريع الجارية:

BASH
node index.js
TEXT 📖 للعرض فقط
Project: bob-project
Node.js: v22.11.0
Directory: /home/bob/bob-project
Step 1: setup
Step 2: config
Step 3: deploy


❓ أسئلة شائعة

س ما الفرق بين استخدام nvm وتثبيت Node.js مباشرةً؟
ج عند تثبيت Node.js مباشرةً، لا يمكنك استخدام سوى إصدار واحد، ويتم استبدال الإصدار القديم عند الترقية؛ أما nvm فيتيح لك تثبيت إصدارات متعددة في آن واحد والتبديل بينها في أي وقت، مما يتيح لك استخدام إصدارات مختلفة لكل مشروع دون أن تتداخل مع بعضها البعض.
س ما الفرق بين npm init -y وnpm init؟
ج يطلب منك npm init إدخال معلومات مثل اسم المشروع والإصدار واحدًا تلو الآخر؛ أما npm init -y فيتخطى جميع المطالبات ويقوم بإنشاء ملف package.json باستخدام القيم الافتراضية، مما يجعله مناسبًا لإنشاء المشاريع بسرعة.
س كيف يمكنني إدخال كود متعدد الأسطر في REPL؟
ج يقوم REPL تلقائيًا باكتشاف الأقواس أو الأقواس المتعرجة غير المغلقة، ثم ينتقل إلى الوضع متعدد الأسطر (مع عرض موجه الأوامر ...). يمكنك أيضًا كتابة .editor للدخول إلى وضع المحرر متعدد الأسطر.
س كيف أختار إصدار Node.js؟
ج أعطِ الأولوية لإصدارات LTS (الدعم طويل الأمد)، التي توفر دعمًا صيانيًّا لمدة 30 شهرًا على الأقل وتُعد مناسبة لبيئات الإنتاج. أما الإصدارات الحالية فتتضمن أحدث الميزات، لكن دورة صيانتها أقصر، مما يجعلها مناسبة لتجربة الميزات الجديدة.
س هل أوامر nvm-windows هي نفسها أوامر nvm على أنظمة macOS وLinux؟
ج الأوامر الأساسية (install، use، ls) هي نفسها بشكل أساسي، لكن nvm-windows هو تطبيق مستقل، لذا قد تختلف بعض الميزات المتقدمة. نوصي بالرجوع إلى الوثائق الخاصة بكل نظام.
س ماذا أفعل إذا لم أتمكن من العثور على الأمر npm بعد تثبيت Node.js؟
ج يتم تثبيت npm مع Node.js. إذا لم تتمكن من العثور عليه، فربما لم يتم تكوين متغيرات البيئة بشكل صحيح. حاول إعادة تثبيت Node.js أو إضافة دليل تثبيت Node.js يدويًّا إلى مسار PATH في نظامك.

📖 ملخص


📝 تمارين

  1. قم بتثبيت Node.js 22 LTS باستخدام nvm وقم بتعيينه كإصدار افتراضي
  2. ادخل إلى بيئة REPL، وقم بتعريف دالة تحسب مجموع جميع الأعداد الزوجية في مصفوفة، وتحقق من النتيجة
  3. قم بإنشاء دليل للمشروع، وقم بتهيئته باستخدام npm init -y، ثم قم بتعديل الحقلين name وdescription في ملف package.json
  4. اكتب برنامجًا نصيًّا info.js يعرض إصدار Node.js الحالي، ومنصة نظام التشغيل (process.platform)، وبيئة التشغيل (process.uptime()).
  5. تثبيت حزمة ملحقات Node.js في VS Code، وتهيئة launch.json، وتصحيح أخطاء البرنامج النصي وتشغيله بنجاح
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%