Node.js: التثبيت والإعداد
آخر تحديث: 2026-08-26
بوب هو مطور واجهة مستخدم بدأ للتو العمل في شركة تكنولوجية. في يومه الأول، أعطاه مرشده رابط مستودع المشروع. وبعد استنساخه، قام بتشغيل npm install لكنه واجه عددًا كبيرًا من الأخطاء — وتبين أن مشروع الشركة كان يستخدم Node.js 22 LTS، في حين أنه كان لا يزال يستخدم الإصدار الأقدم 18 على جهازه المحلي. ووجد بوب نفسه في مأزق لأنه كان قلقًا من أن تؤثر الترقية المباشرة على المشاريع القديمة الأخرى. لحسن الحظ، أوصاه مرشده باستخدام nvm، مما سمح له بالتبديل بحرية بين إصدارات Node.js المختلفة، وضمان استخدام كل مشروع للإصدار المتوافق معه دون التداخل مع المشاريع الأخرى. ومنذ ذلك الحين، لم يعد بوب قلقًا بشأن تعارضات الإصدارات أبدًا.
ما ستتعلمه
- تثبيت إصدارات Node.js والتبديل بينها باستخدام nvm
- تأكد من تثبيت Node.js و npm بنجاح
- تنفيذ كود جافا سكريبت في بيئة REPL التفاعلية
- اكتب برنامجك النصي الأول بلغة Node.js وقم بتشغيله
- استخدم
npm initلإنشاء ملف تكوين مشروعパッケージ.json
1. تثبيت nvm واستخدامه
(1) لماذا نحتاج إلى nvm؟
يتم تحديث Node.js بشكل متكرر، وقد تعتمد المشاريع المختلفة على إصدارات مختلفة. يتيح لك nvm (مدير إصدارات Node) تثبيت إصدارات متعددة من Node.js على نفس الجهاز والتبديل بينها حسب الحاجة، مما يساعد على تجنب تعارضات الإصدارات.
(2) تثبيت nvm
macOS / Linux:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
بمجرد اكتمال التثبيت، أعد تشغيل المحطة الطرفية أو قم بتشغيل الأمر التالي:
source ~/.bashrc
ويندوز:
يمكن لمستخدمي Windows استخدام nvm-windows. بعد تنزيل برنامج التثبيت، اتبع إرشادات المعالج لإكمال عملية التثبيت.
▶ مثال:(3) تثبيت إصدارات Node.js والتبديل بينها
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 والتبديل
$ 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
بمجرد اكتمال التثبيت، افتح «المحطة الطرفية» وأدخل:
node --version
إذا كان الناتج على شكل v22.11.0، فهذا يعني أن Node.js قد تم تثبيته بشكل صحيح.
(2) التحقق من إصدار npm
يتم تثبيت npm مع Node.js. للتحقق من ذلك:
npm --version
إذا كان الناتج على شكل 10.9.0، فهذا يعني أن npm متاح.
▶ مثال: عملية التحقق الكاملة
$ 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 (حلقة القراءة والتقييم والطباعة) التفاعلية:
node
للخروج: أدخل .exit أو اضغط على Ctrl + C مرتين.
(2) الأوامر الشائعة في REPL
| الأمر | الوصف |
|---|---|
.help |
عرض المساعدة |
.exit الخروج من REPL |
|
.save <file> |
حفظ الجلسة الحالية في ملف |
.load <file> |
تحميل ملف إلى الجلسة |
.clear |
مسح السياق الحالي |
.editor |
الدخول إلى وضع التحرير (التحرير متعدد الأسطر) |
(3) الإدخال متعدد الأسطر
يقوم برنامج REPL تلقائيًّا باكتشاف الأقواس العادية والأقواس المتعرجة غير المغلقة، ويدخل في وضع الإدخال متعدد الأسطر:
> function add(a, b) {
... return a + b;
... }
undefined
> add(3, 5)
8
▶ مثال: اختبار الكود بسرعة في REPL
> 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:
const greeting = 'Hello, Node.js!';
console.log(greeting);
const version = process.version;
console.log(`Running on ${version}`);
▶ مثال:(2) التشغيل باستخدام الأمر node
node hello.js
▶ مثال: تشغيل برنامج نصي وتمرير المعلمات
من إعداد greet.js:
const name = process.argv[2] || 'World';
console.log(`Hello, ${name}!`);
console.log(`Node version: ${process.version}`);
console.log(`Current directory: ${process.cwd()}`);
تنفيذ:
$ 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
npm init
سيطلب منك npm إدخال معلومات مثل اسم المشروع والإصدار والوصف واحدة تلو الأخرى، وسيقوم في النهاية بإنشاء package.json.
▶ مثال:(2) استخدم npm init -y لإنشاء مشروع بسرعة
npm init -y
-y يتخطى جميع الأسئلة ويقوم بإنشاء package.json باستخدام القيم الافتراضية، مما يجعله خيارًا مثاليًّا للبدء السريع.
▶ مثال: ملف package.json الذي أنشأه npm init -y
$ mkdir my-app && cd my-app
$ npm init -y
{
"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 في الدليل الجذري للمشروع:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": ["<node_internals>/**"],
"program": "${workspaceFolder}/index.js"
}
]
}
اضغط على F5 لبدء عملية تصحيح الأخطاء.
7. عملية إدارة الإصدارات المتعددة من Node.js باستخدام nvm
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 وحتى تشغيل أول برنامج نصي لك:
# 1. Install and switch to Node.js 22 LTS
nvm install 22
nvm use 22
# 2. Verify the Installation
node --version
npm --version
v22.11.0
10.9.0
# 3. Create a project directory and initialize it
mkdir bob-project
cd bob-project
npm init -y
من إعداد index.js:
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}`);
});
المشاريع الجارية:
node index.js
Project: bob-project
Node.js: v22.11.0
Directory: /home/bob/bob-project
Step 1: setup
Step 2: config
Step 3: deploy
❓ أسئلة شائعة
npm init -y وnpm init؟npm init إدخال معلومات مثل اسم المشروع والإصدار واحدًا تلو الآخر؛ أما npm init -y فيتخطى جميع المطالبات ويقوم بإنشاء ملف package.json باستخدام القيم الافتراضية، مما يجعله مناسبًا لإنشاء المشاريع بسرعة.📖 ملخص
- تُعد nvm الأداة المفضلة لإدارة الإصدارات المتعددة من Node.js؛ فهي تدعم تثبيت الإصدارات والتبديل بينها وتعيين الإصدار الافتراضي
- تُستخدم
node --versionوnpm --versionللتحقق من نجاح عملية التثبيت - يوفر REPL بيئة تنفيذ تفاعلية، وهي مثالية لاختبار مقتطفات الأكواد بسرعة
- استخدم
node <file>لتشغيل برنامج نصي JavaScript، وprocess.argvلاسترداد معلمات سطر الأوامر npm init -yقم بإنشاء ملفpackage.jsonبسرعة — هذه هي الخطوة الأولى في تهيئة المشروع- تُعد ملحقات VS Code + Node.js أكثر مجموعات أدوات التطوير شيوعًا
📝 تمارين
- قم بتثبيت Node.js 22 LTS باستخدام nvm وقم بتعيينه كإصدار افتراضي
- ادخل إلى بيئة REPL، وقم بتعريف دالة تحسب مجموع جميع الأعداد الزوجية في مصفوفة، وتحقق من النتيجة
- قم بإنشاء دليل للمشروع، وقم بتهيئته باستخدام
npm init -y، ثم قم بتعديل الحقلينnameوdescriptionفي ملف package.json - اكتب برنامجًا نصيًّا
info.jsيعرض إصدار Node.js الحالي، ومنصة نظام التشغيل (process.platform)، وبيئة التشغيل (process.uptime()). - تثبيت حزمة ملحقات Node.js في VS Code، وتهيئة
launch.json، وتصحيح أخطاء البرنامج النصي وتشغيله بنجاح