---
url: 'https://dxpr.com/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-drupal/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%AA%D9%88%D8%B3%D9%8A%D8%B9-drupal-10-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-composer'
title: 'توسيع Drupal 10 باستخدام Composer | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2023-11-06T09:24:04+00:00'
updated: '2026-10-24T00:44:10+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: 'في الوقت الحاضر، من الشائع جدًا أن تعتمد وحدات Drupal المُساهَم بها على مكتبات خارجية. ولا يمكن تثبيت بعض هذه الوحدات إلا باستخدام Composer.'
tags:
  - 'Getting started'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T00:44:10+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 'توسيع Drupal 10 باستخدام Composer'
      description: 'في الوقت الحاضر، من الشائع جدًا أن تعتمد وحدات Drupal المُساهَم بها على مكتبات خارجية. ولا يمكن تثبيت بعض هذه الوحدات إلا باستخدام Composer.'
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2023-11-06T09:24:04+0000'
      dateModified: '2026-10-24T00:44:10+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-drupal/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%AA%D9%88%D8%B3%D9%8A%D8%B9-drupal-10-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-composer'
      articleSection: البدء
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82/%D8%AA%D8%B9%D9%84%D9%85-drupal/%D8%A7%D9%84%D8%A8%D8%AF%D8%A1/%D8%AA%D9%88%D8%B3%D9%8A%D8%B9-drupal-10-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-composer'
      description: 'في الوقت الحاضر، من الشائع جدًا أن تعتمد وحدات Drupal المُساهَم بها على مكتبات خارجية. ولا يمكن تثبيت بعض هذه الوحدات إلا باستخدام Composer.'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: الرئيسية
            item: 'https://dxpr.com/ar'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: ar
---
[مركز المساعدة](/ar/hc)/[التوثيق](/ar/hc/%D8%A7%D9%84%D8%AA%D9%88%D8%AB%D9%8A%D9%82) /[تعلّم Drupal](/ar/hc/documentation/learn-drupal) /[البدء](/ar/hc/documentation/learn-drupal/getting-started) # توسيع Drupal 10 باستخدام Composer.

 تعلّم Drupalالبدء

   ## في هذا الدليل

في الوقت الحاضر، من الشائع جدًا أن تعتمد وحدات Drupal المُساهَم بها على مكتبات خارجية. ولا يمكن تثبيت بعض هذه الوحدات إلا باستخدام Composer. فإذا كنتم قد جلبتم نواة Drupal باستخدام Composer، أو إذا كانت وحدة تتطلب Composer، فعليكم استخدام Composer لتنزيل كل وحداتكم وقوالبكم. وإذا خلطتم بين تحديثات Composer وطرق أخرى، فقد تواجهون مشكلات تحديث مزعجة.

## جلب الوحدات والقوالب المُساهَم بها باستخدام Composer

إذن، هل تريدون تنزيل وحدات Drupal أو قالبها المُساهَم بها باستخدام Composer؟ إليكم الطريقة:

- اكتبوا `composer require drupal/module_name`
- على سبيل المثال: `composer require drupal/token`
- تأكدوا من وجودكم في جذر تثبيت Drupal لديكم

سيحدّث Composer بعد ذلك ملف composer.json بذكاء، مضيفًا الوحدة إلى قائمة المتطلبات الأخرى، هكذا:

```javascript
{
    "require": {
        "drupal/token": "^1.5"
    }
}
```

سينزّل Composer الوحدة وأي تبعيات محتملة قد تكون لها.

الآن، لتفعيل وحدة Drupal، لديكم خياران:

- استخدموا واجهة متصفح الويب القياسية في Drupal بالنقر على Extend في شريط الأدوات.
- جرّبوا أداة سطر أوامر مثل Drush أو Drupal Console، راجعوا [تثبيت الوحدات من سطر الأوامر](/docs/8/extending-drupal-8/installing-modules-from-the-command-line).

عند طلب الوحدات، يمكنكم استخدام اسم المشروع أو اسم الوحدة المحددة ضمن المشروع:

- سينزّل Composer المشروع كاملًا الذي يحتوي على وحدة معينة.
- على سبيل المثال، إذا احتجتم وحدة fe\_block من مشروع [features\_extra](https://drupal.org/project/features_extra)، فيمكنكم اختيار أحد الخيارين التاليين:
    - `composer require drupal/features_extra`
    - `composer require drupal/fe_block`

## اختيار إصدار

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

```php
composer require 'drupal/module_name:version'
```

(فقط استبدلوا `version` بإصدار Composer الفعلي أو قيد الإصدار.)

على سبيل المثال:

```php
composer require 'drupal/dxpr_builder:^1.1'
composer require 'drupal/dxpr_builder:~1.1'
composer require 'drupal/dxpr_builder:2.2.2-alpha2'
composer require 'drupal/dxpr_builder:2.2.x-dev'
```

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

---

**تنبيه!** على Windows، قد يؤدي استخدام علامات الاقتباس (المفردة) إلى إفساد تحديد الإصدار، مما يسبب فشل التثبيت مع '*Could not parse version constraint .....': Invalid version string "....'"*.

*دون* علامات الاقتباس، على سبيل المثال:

```php
composer require drupal/dxpr_builder:^2.2
```

أو باستخدام *علامات الاقتباس المزدوجة* بدل المفردة، هكذا:

```php
composer require "drupal/dxpr_builder:^2.2"
```

ويفترض أن يعمل ذلك دون مشكلات. لمزيد من المعلومات، راجعوا [تعليق «مشكلات Composer: could not parse version constraint»](https://www.drupal.org/forum/support/post-installation/2022-04-08/composer-problems-could-not-parse-version-constraint).

---

في الأمثلة أعلاه، تتوافق الإصدارات كما يلي:

- ^1.1: يقابل أحدث إصدار مستقر 10.x-1.x من الوحدة.
- ~1.1: يقابل أحدث إصدار مستقر 10.x-3.x من الوحدة.
- 2.2.2-alpha2: يقابل الإصدار 2.2.2-alpha2
- 2.2.x-dev: يقابل 2.2.x-dev

لمزيد عن قيود الإصدارات مع ~ (المدة) و^ (العلامة)، ألقوا نظرة على [عوامل الإصدار المهم التالي](https://getcomposer.org/doc/articles/versions.md#next-significant-release-operators).

من الجيد تحديد إصدار الوحدة المُساهَم بها التي تريدون تنزيلها.

##
استخدام البحث في Composer

أخبار سارة! تدعم نقاط نهاية composer في Drupal.org وظيفة [البحث في Composer](https://getcomposer.org/doc/03-cli.md#search). وهذا يعني أنه يمكنكم البحث عن مشاريع Drupal من سطر الأوامر مباشرة. لاستخدام البحث في Composer، اكتبوا:

```php
composer search views
```

## استخدام التصفح في Composer

تدعم نقاط نهاية composer في Drupal.org للإصدارات من Drupal 7 إلى 10 أيضًا وظيفة [التصفح في Composer](https://getcomposer.org/doc/03-cli.md#browse-home). وهذا يتيح لكم العثور على معلومات إضافية عن مشاريع Drupal من سطر الأوامر مباشرة. لاستخدام التصفح في Composer، اكتبوا:

```php
composer browse drupal/token
```