نصب و استفاده از Composer روی Debian 11

Composer ابزار استاندارد و محبوب مدیریت وابستگی در اکوسیستم PHP است که نصب، به‌روزرسانی و نگهداری کتابخانه‌های مورد نیاز پروژه را آسان می‌کند. این راهنما گام‌به‌گام نحوه نصب Composer بر روی یک سرور Debian 11 را توضیح می‌دهد و مثال عملی با یک بسته از Packagist ارائه می‌کند.

پیش‌نیازها

  • یک سرور Debian 11 با دسترسی کاربر غیر-root که دسترسی sudo دارد.
  • فایروال فعال شده و پیکربندی پایه سرور انجام شده باشد.
  • ابزارهای مورد نیاز: php-cli برای اجرای اسکریپت‌های PHP در خط فرمان و unzip برای باز کردن آرشیوها.

گام اول — بروزرسانی مخازن و نصب پیش‌نیازها

ابتدا کش بسته‌ها را بروزرسانی کنید و سپس ابزارهای لازم را نصب نمایید:

sudo apt update
sudo apt install -y curl php-cli php-mbstring git unzip

توضیح: php-mbstring برای پشتیبانی از توابع رشته‌ای چندبایتی لازم است و git توسط Composer برای دانلود بسته‌ها استفاده می‌شود.

گام دوم — دانلود و بررسی نصب‌کننده Composer

Composer نصب‌کننده‌ای به صورت یک اسکریپت PHP ارائه می‌دهد. آن را دانلود و بررسی کنید:

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php

# obtain expected signature (SHA-384)
EXPECTED_SIGNATURE="$(curl -sS https://composer.github.io/installer.sig)"

# verify installer
php -r "if (hash('sha384', file_get_contents('composer-setup.php')) === '$EXPECTED_SIGNATURE') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

اگر پیام Installer verified دریافت کردید، می‌توانید ادامه دهید. در غیر این صورت اسکریپت را دوباره دانلود و بررسی کنید.

گام سوم — نصب سراسری Composer

برای نصب سراسری Composer به طوری که دستور composer در سرتاسر سیستم در دسترس باشد، از دستور زیر استفاده کنید:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

پس از نصب، صحت نصب را با اجرای نسخه Composer بررسی کنید:

composer --version

اگر خروجی نسخه Composer را نمایش داد، نصب سراسری با موفقیت انجام شده است.

نصب محلی (اختیاری): اگر ترجیح می‌دهید Composer را به صورت محلی در هر پروژه داشته باشید (مشابه رفتار npm)، می‌توانید با اجرای php composer-setup.php یک فایل composer.phar در پوشه فعلی بسازید و با ./composer.phar آن را اجرا کنید.

گام چهارم — شروع کار با Composer در یک پروژه

Composer وابستگی‌های پروژه را با استفاده از فایل composer.json مدیریت می‌کند. این فایل معمولاً با اجرای دستور composer require به‌طور خودکار تولید می‌شود. در ادامه یک مثال عملی با هدف ساخت یک ابزار تبدیل رشته به «اسلاگ» (slug) آمده است.

ایجاد پروژه آزمایشی

cd ~
mkdir slugify
cd slugify

ما از بسته cocur/slugify موجود در Packagist برای تولید اسلاگ استفاده می‌کنیم:

composer require cocur/slugify

پس از اجرا، Composer دو فایل اصلی و یک پوشه را ایجاد می‌کند: composer.json, composer.lock و پوشه vendor.

نمونه محتویات composer.json

{
    "require": {
        "cocur/slugify": "^4.1"
    }
}

توضیح کوتاه درباره علامت ^: عملگر caret به Composer اجازه می‌دهد تا تا قبل از نسخه اصلی بعدی (major) آپدیت‌ها را اعمال کند. برای مثال ^4.1 به معنی اجازه بروزرسانی از 4.1 تا قبل از 5.0 است.

گام پنجم — بارگذاری خودکار (Autoload) و تست

Composer یک فایل بارگذاری خودکار تولید می‌کند که کافی است در ابتدای اسکریپت‌های PHP خود آن را فراخوانی کنید. یک فایل آزمایشی بسازید:

nano test.php

و محتوای زیر را در آن قرار دهید:

<?php
require __DIR__ . '/vendor/autoload.php';

use Cocur\Slugify\Slugify;

$slugify = new Slugify();
echo $slugify->slugify('Hello World!');

فایل را ذخیره کنید و سپس اجرا نمایید:

php test.php

خروجی باید چیزی شبیه به زیر باشد:

hello-world

گام ششم — بروزرسانی وابستگی‌ها

برای بروزرسانی تمامی بسته‌ها مطابق با محدودیت‌های نسخه تعریف‌شده در composer.json از دستور زیر استفاده کنید:

composer update

اگر قصد دارید تنها یک بسته مشخص را بروزرسانی کنید:

composer update vendor/package

پس از هر بروزرسانی، فایل composer.lock بروزرسانی می‌شود؛ حتماً هر دوی composer.json و composer.lock را در کنترل نسخه (مثل git) نگه دارید تا سایر توسعه‌دهندگان یا محیط‌های استقرار، همان نسخه‌ها را نصب کنند.

در این راهنما Composer را روی Debian 11 نصب کردیم، نحوه افزودن وابستگی‌ها را با یک مثال عملی (cocur/slugify) نشان دادیم، بارگذاری خودکار Composer را توضیح دادیم و روش بروزرسانی وابستگی‌ها را بررسی کردیم. این فرایند برای تیم‌های توسعه PHP که روی پلتفرم‌های پردازش ابری مانند ParminCloud کار می‌کنند، پایه‌ای و ضروری است.

 

 

از همراهی شما سپاسگزاریم. برای مطالعه بیشتر درباره مستندات محصولات ابری، معماری‌های مقیاس‌پذیر و بهینه‌سازی هزینه در محیط‌های ابری ParminCloud، به بخش منابع ما مراجعه کنید.

Click to rate this post!
[Total: 0 Average: 0]

نظرات کاربران

دیدگاهی بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *