Composerは、cpan
によく似た、phpの依存関係管理ツールです。 perl用。 cpanのインストールに関するチュートリアルを読んだことがあれば、アーキテクチャーはある程度おなじみでしょう。コマンドラインツールとしてのComposerは、必要に応じてマークを付けたphpライブラリや、これらが依存するライブラリなどをフェッチして更新できるクライアントです。
これらのライブラリのソースは、大規模なパブリックphpパッケージリポジトリであるpackagist.orgです。ブラウザでリポジトリを参照して使用したいパッケージを見つけ、Composerを使用してそれらをプロジェクトに含めることができます。また、依存関係自体を解決することで、Composerは、外部パッケージに依存している場合に、私たちの生活をはるかに楽にすることができます。また、ライブラリを共有できるため、コミュニティはComposerを介してライブラリにアクセスすることもできます。
このチュートリアルでは、ComposerをRed Hat Enterprise Linux 8にインストールし、プロジェクトの依存関係としてパッケージにマークを付けて、ツールが機能することを確認します。
このチュートリアルでは、次のことを学びます。
- Composerのインストール方法
- パッケージを依存関係として定義する方法
- Composerで依存関係をインストールする方法
Composerの主なヘルプ。
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
Red Hat Enterprise Linux 8 | |
作曲家1.8.0 | |
rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
Redhat8にcomposerをインストールする方法ステップバイステップの説明
コンポーザーを使用できるようにするには、当然php
が必要です。 、いくつかの拡張機能があります。 PHP 7.2とその拡張機能は、サブスクリプション管理リポジトリを有効にした後、およびISO形式で配布されたインストーラーで到達可能です。
- 最初に、
dnf
を使用してphp関連のパッケージをインストールする必要があります :dnf install php php-cli php-zip php-json
- これで、php:
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
を使用してComposerインストーラーをダウンロードできます。 - システムのどこからでもツールにアクセスできるように、ツールを
$PATH
に配置します。 。/usr/local/bin
$PATH
に含まれています デフォルトでは。# php composer-setup.php --install-dir=/usr/local/bin --filename=composer All settings correct for using Composer Downloading... Composer (version 1.8.0) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
- 機能をテストするために、
php
のルートである作業ディレクトリを作成します 開発プロジェクト:$ mkdir myProject
そしてそれを入力してください:
$ cd myProject
リポジトリを閲覧した後、
zend-eventmanager
が必要であると判断しました パッケージ、バージョン3.2.1
。composer.json
というテキストファイルを作成します プロジェクトのルートディレクトリに次のコンテンツがあります:{ "require": { "zendframework/zend-eventmanager": "3.2.1" } }
- 依存関係として定義したパッケージをインストールするには、新しくインストールした
composer
を使用できます。 :$ composer install Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing zendframework/zend-eventmanager (3.2.1): Downloading (100%) zendframework/zend-eventmanager suggests installing container-interop/container-interop (^1.1.0, to use the lazy listeners feature) zendframework/zend-eventmanager suggests installing zendframework/zend-stdlib (^2.7.3 || ^3.0, to use the FilterChain feature) Writing lock file Generating autoload files
作業ディレクトリを一覧表示すると、ロックファイルと
vendor
が表示されます。 ディレクトリ。後者はcomposer
が 必要なパッケージをダウンロードしました。$ ls composer.json composer.lock vendor
$ ls vendor/ autoload.php composer zendframework
vendor
内 ディレクトリは必要なパッケージであり、autoload.php
。これは、composer
でインストールしたライブラリを使用するためにコードに含める必要がある唯一のファイルです。 。新しいパッケージのインストール/アップグレード時に再生成されます。